Как обновить версию схемы вручную в RoR? - PullRequest
0 голосов
/ 04 марта 2010

У меня есть миграция, которая добавляет триггеры в MySQL, вызывая ActiveRecord :: Base.connection () метод execute. Работает нормально, за исключением того, что версия схемы не обновляется. Я подозреваю, что это потому, что структура БД сама по себе не изменилась (без обновлений столбцов и таблиц).

Есть ли способ принудительно обновить версию схемы в моей миграции?

1 Ответ

0 голосов
/ 04 марта 2010

На самом деле я думаю, что это должно обновлять версию файла schema.rb, основываясь на моих наблюдениях за тем, как определена задача :migrate.

task :migrate => :environment do
  ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
  ActiveRecord::Migrator.migrate("db/migrate/", ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
  Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
end

Если он не обновлен, возможно, ваш :schema_format не :ruby?

...