使用rake db:migrate
加載vanilla SQL會涉及哪些陷阱?使用rake db:直接遷移,vanilla SQL
我正在使用的業務需求不允許使用默認的Rails遷移。但是我仍然需要跟蹤更改,輕鬆更改數據庫DDL以及Rails的遷移所提供的其他內容。
所以遷移文件看起來像:
class AddDateToPost < ActiveRecord::Migration
def self.up
ActiveRecord::Base.connection.execute("ALTER TABLE `posts` ADD COLUMN date DATETIME NULL")
end
def self.down
ActiveRecord::Base.connection.execute("ALTER TABLE `posts` DROP COLUMN date")
end
end