刚学习rails,我正在进行迁移,这一切都从逻辑上开始,直到我在代码中遇到奇怪的事情;
rails generate migration AddRegionToSupplier
上面会生成一个只有“def change”方法的迁移文件。
我用Google搜索了这一点,发现这正是应该发生的事情;
http://guides.rubyonrails.org/migrations.html
我原以为它会生成“def up”和“def down”方法,以便可以回滚迁移。我这一代人做错了什么,或者我错过了一些明显的东西?
答案 0 :(得分:16)
Rails 3.1通过提供新的
change
方法使迁移变得更加智能。 这种方法是编写建设性迁移的首选(添加 列或表)。 迁移知道如何迁移数据库 并且在不需要回滚迁移时将其反转 写一个单独的向下方法。
所以看起来你不必担心def self.down
,因为Rails现在足够聪明,知道如何回滚。