たとえば、次の移行があります
class AddStatusField < ActiveRecord::Migration
def self.up
add_column :tasks, :status, :string
Task.update_all "status='complete'", "completed = 't'"
remove_column :tasks, :completed
end
end
これを(を使用してrake db:migrate
)実行すると、次のメッセージが表示されます
== AddStatusField: migrating =================================================
-- add_column(:tasks, :status, :string)
-> 0.0010s
-- update_all("status='complete'", "completed = 't'")
rake aborted!
An error has occurred, this and all later migrations canceled:
undefined method `update_all' for #<ActiveRecord::ConnectionAdapters::SQLite3Adapter:0xd3d34a8>
すぐに移行を実行すると、update_all
呼び出しは機能しているように見えます。
Rails2.3.5とsqlite3を使用しています。
何が得られますか?