Method: ActiveRecord::Migrator#migrate

Defined in:
lib/active_record/migration.rb

#migrateObject



944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
# File 'lib/active_record/migration.rb', line 944

def migrate
  if !target && @target_version && @target_version > 0
    raise UnknownMigrationVersionError.new(@target_version)
  end

  runnable.each do |migration|
    Base.logger.info "Migrating to #{migration.name} (#{migration.version})" if Base.logger

    begin
      execute_migration_in_transaction(migration, @direction)
    rescue => e
      canceled_msg = use_transaction?(migration) ? "this and " : ""
      raise StandardError, "An error has occurred, #{canceled_msg}all later migrations canceled:\n\n#{e}", e.backtrace
    end
  end
end