instance method
assume_migrated_upto_version
Ruby on Rails 5.0.7.2
Signature
assume_migrated_upto_version(version, migrations_paths)
No documentation comment.
Parameters
-
versionreq -
migrations_pathsreq
Source
# File activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb, line 1019
def assume_migrated_upto_version(version, migrations_paths)
migrations_paths = Array(migrations_paths)
version = version.to_i
sm_table = quote_table_name(ActiveRecord::Migrator.schema_migrations_table_name)
migrated = select_values("SELECT version FROM #{sm_table}").map(&:to_i)
versions = ActiveRecord::Migrator.migration_files(migrations_paths).map do |file|
ActiveRecord::Migrator.parse_migration_filename(file).first.to_i
end
unless migrated.include?(version)
execute "INSERT INTO #{sm_table} (version) VALUES (#{quote(version)})"
end
inserting = (versions - migrated).select {|v| v < version}
if inserting.any?
if (duplicate = inserting.detect {|v| inserting.count(v) > 1})
raise "Duplicate migration #{duplicate}. Please renumber your migrations to resolve the conflict."
end
if supports_multi_insert?
execute insert_versions_sql(inserting)
else
inserting.each do |v|
execute insert_versions_sql(v)
end
end
end
end
Defined in activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb line 1019
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ConnectionAdapters::SchemaStatements