脚手架- rails生成-数据迁移定义类



我是Rails新手-我开始了一个新的Rails应用程序rails new test,然后rails generate scaffold Name column1:datatype column2:datatype

在教程中,一旦我打开12345678timestamp_create_names.rb文件,我有def change,但教程有def self.updef self.down

为什么?区别是什么呢?我现在应该编辑我的应用吗?未来呢?

已经从rails2迁移到rails3,现在rails3已经足够聪明,可以理解它应该如何响应您的命令

因此,将change视为updown的组合

如果你说

rake db:migrate,它会认为它是up

rake db:rollback,它会认为它是down

阅读更多

Rails 3.1引入了新的迁移更改方法。

参见Rails指南

Rails 3.1通过提供新的更改方法使迁移更加智能。这种方法更适合于编写建设性迁移(添加列或表)。迁移知道如何迁移数据库并在迁移回滚时将其逆转,而不需要写一个单独的down方法

因此,你的教程可能涵盖Rails 3.0,但不包括Rails 2,因为你已经使用Rails 3命令创建一个新的应用程序。

最新更新