Ruby on Rails/ActiveRecord/Migrations/SQL
外觀
遷移系統有很多助手,你可以使用它們來完成你想要做的事情。 不過,有時你需要做一些這些助手沒有涵蓋的事情。 這就是execute助手發揮作用的地方。
execute 助手是遷移中使用的一種方法,它接受一個屬性——一個 SQL 命令,作為字串,並將執行 SQL,就像任何其他遷移一樣。 如果 SQL 伺服器在執行命令時返回錯誤,它也會中斷遷移過程(就像遷移助手一樣)。
def self.up execute "ALTER TABLE items ALTER parent_id SET DEFAULT 0" end def self.down execute "ALTER TABLE items ALTER parent_id DROP DEFAULT" end
def self.up execute "ALTER TABLE taggings ADD id int(11) DEFAULT NULL auto_increment PRIMARY KEY" end def self.down remove_column :taggings, :id end