class TrustyCms::ExtensionMigrator
def assume_migrated_upto_version(version)
def assume_migrated_upto_version(version) version = version.to_i sm_table = self.class.schema_migrations_table_name migrated = self.class.get_all_versions versions = Dir["#{@migrations_path}/[0-9]*_*.rb"].map do |filename| filename.split('/').last.split('_').first.to_i end unless migrated.include?(version) ActiveRecord::Base.connection.execute "INSERT INTO #{sm_table} (version) VALUES (#{quote(version_string(version))})" end inserted = Set.new (versions - migrated).each do |v| if inserted.include?(v) raise "Duplicate migration #{v}. Please renumber your migrations to resolve the conflict." elsif v < version ActiveRecord::Base.connection.execute "INSERT INTO #{sm_table} (version) VALUES (#{quote(version_string(v))})" inserted << v end end end