module DataMigrate::Tasks::DataMigrateTasks

Public Instance Methods

abort_if_pending_migrations(migrations, message) click to toggle source
# File lib/data_migrate/tasks/data_migrate_tasks.rb, line 30
def abort_if_pending_migrations(migrations, message)
  if migrations.any?
    puts "You have #{migrations.size} pending #{migrations.size > 1 ? 'migrations:' : 'migration:'}"
    migrations.each do |pending_migration|
      puts "  %4d %s" % [pending_migration[:version], pending_migration[:name]]
    end
    abort message
  end
end
dump() click to toggle source
# File lib/data_migrate/tasks/data_migrate_tasks.rb, line 9
def dump
  if ActiveRecord::Base.dump_schema_after_migration
    filename = DataMigrate::DatabaseTasks.schema_file
    ActiveRecord::Base.establish_connection(DataMigrate.config.db_configuration) if DataMigrate.config.db_configuration
    File.open(filename, "w:utf-8") do |file|
      DataMigrate::SchemaDumper.dump(ActiveRecord::Base.connection, file)
    end
  end
end
migrate() click to toggle source
# File lib/data_migrate/tasks/data_migrate_tasks.rb, line 19
def migrate
  DataMigrate::DataMigrator.assure_data_schema_table
  target_version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
  if (Rails::VERSION::MAJOR == 5 && Rails::VERSION::MINOR == 2) ||
    Rails::VERSION::MAJOR == 6
    DataMigrate::MigrationContext.new(migrations_paths).migrate(target_version)
  else
    DataMigrate::DataMigrator.migrate(migrations_paths, ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
  end
end
migrations_paths() click to toggle source
# File lib/data_migrate/tasks/data_migrate_tasks.rb, line 5
def migrations_paths
  @migrations_paths ||= DataMigrate.config.data_migrations_path
end