assume_migrated_upto_version (ActiveRecord::ConnectionAdapters::SchemaStatements)

    # File lib/active_record/connection_adapters/abstract/schema_statements.rb, line 339
          def assume_migrated_upto_version(version)
            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 = Dir['db/migrate/[0-9]*_*.rb'].map do |filename|
              filename.split('/').last.split('_').first.to_i
            end

            unless migrated.include?(version)
              execute "INSERT INTO #{sm_table} (version) VALUES ('#{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
                execute "INSERT INTO #{sm_table} (version) VALUES ('#{v}')"
                inserted << v
              end
            end
          end