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