Sha256: 2a207d9be141e95c09b3146029ba2785e4ad2876a77e70318e2ffe356e97525f

Contents?: true

Size: 1.47 KB

Versions: 7

Compression:

Stored size: 1.47 KB

Contents

module DataMigrate
  module Tasks
    module DataMigrateTasks
      extend self
      def migrations_paths
        @migrations_paths ||= DataMigrate.config.data_migrations_path
      end

      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

      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

      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
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
data_migrate-7.0.2 lib/data_migrate/tasks/data_migrate_tasks.rb
data_migrate-7.0.1 lib/data_migrate/tasks/data_migrate_tasks.rb
data_migrate-7.0.0 lib/data_migrate/tasks/data_migrate_tasks.rb
data_migrate-6.8.0 lib/data_migrate/tasks/data_migrate_tasks.rb
data_migrate-6.7.0 lib/data_migrate/tasks/data_migrate_tasks.rb
data_migrate-6.6.2 lib/data_migrate/tasks/data_migrate_tasks.rb
data_migrate-6.6.0 lib/data_migrate/tasks/data_migrate_tasks.rb