DataMapper::Migrations::Model

Public Class Methods

included(mod) click to toggle source

@api private

# File lib/dm-migrations/auto_migration.rb, line 114
def self.included(mod)
  mod.descendants.each { |model| model.extend self }
end

Public Instance Methods

auto_migrate!(repository_name = self.repository_name) click to toggle source

Destructively automigrates the data-store to match the model REPEAT: THIS IS DESTRUCTIVE

@param Symbol repository_name the repository to be migrated

@api public

# File lib/dm-migrations/auto_migration.rb, line 129
def auto_migrate!(repository_name = self.repository_name)
  assert_valid(true)
  auto_migrate_down!(repository_name)
  auto_migrate_up!(repository_name)
end
auto_migrate_down!(repository_name = self.repository_name) click to toggle source

Destructively migrates the data-store down, which basically deletes all the models. REPEAT: THIS IS DESTRUCTIVE

@param Symbol repository_name the repository to be migrated

@api private

# File lib/dm-migrations/auto_migration.rb, line 158
def auto_migrate_down!(repository_name = self.repository_name)
  assert_valid(true)
  base_model = self.base_model
  if base_model == self
    repository(repository_name).destroy_model_storage(self)
  else
    base_model.auto_migrate_down!(repository_name)
  end
end
auto_migrate_up!(repository_name = self.repository_name) click to toggle source

Auto migrates the data-store to match the model

@param Symbol repository_name the repository to be migrated

@api private

# File lib/dm-migrations/auto_migration.rb, line 173
def auto_migrate_up!(repository_name = self.repository_name)
  assert_valid(true)
  base_model = self.base_model
  if base_model == self
    repository(repository_name).create_model_storage(self)
  else
    base_model.auto_migrate_up!(repository_name)
  end
end
auto_upgrade!(repository_name = self.repository_name) click to toggle source

Safely migrates the data-store to match the model preserving data already in the data-store

@param Symbol repository_name the repository to be migrated

@api public

# File lib/dm-migrations/auto_migration.rb, line 141
def auto_upgrade!(repository_name = self.repository_name)
  assert_valid(true)
  base_model = self.base_model
  if base_model == self
    repository(repository_name).upgrade_model_storage(self)
  else
    base_model.auto_upgrade!(repository_name)
  end
end
storage_exists?(repository_name = default_repository_name) click to toggle source

@api semipublic

# File lib/dm-migrations/auto_migration.rb, line 119
def storage_exists?(repository_name = default_repository_name)
  repository(repository_name).storage_exists?(storage_name(repository_name))
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.