Sha256: a114f68f88657660e30de7443a0e85244d457dd1ba242617f143905b0fd4f094
Contents?: true
Size: 1.47 KB
Versions: 2
Compression:
Stored size: 1.47 KB
Contents
require 'active_record' module DataMigrate class DataMigrator < ActiveRecord::Migrator def record_version_state_after_migrating(version) if down? migrated.delete(version) DataMigrate::DataSchemaMigration.where(:version => version.to_s).delete_all else migrated << version DataMigrate::DataSchemaMigration.create!(:version => version.to_s) end end class << self def get_all_versions(connection = ActiveRecord::Base.connection) if connection.table_exists?(schema_migrations_table_name) # Certain versions of the gem wrote data migration versions into # schema_migrations table. After the fix, it was corrected to write into # data_migrations. However, not to break anything we are going to # get versions from both tables. # # This may cause some problems: # Eg. rake data:versions will show version from the schema_migrations table # which may be a version of actual schema migration and not data migration DataMigrate::DataSchemaMigration.all.map { |x| x.version.to_i }.sort + ActiveRecord::SchemaMigration.all.map { |x| x.version.to_i }.sort else [] end end def schema_migrations_table_name ActiveRecord::Base.table_name_prefix + 'data_migrations' + ActiveRecord::Base.table_name_suffix end def migrations_path 'db/data' end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
data_migrate-2.0.1 | lib/data_migrate/data_migrator.rb |
data_migrate-2.0.0 | lib/data_migrate/data_migrator.rb |