我是Rails新手-我开始了一个新的Rails应用程序rails new test
,然后rails generate scaffold Name column1:datatype column2:datatype
在教程中,一旦我打开12345678timestamp_create_names.rb
文件,我有def change
,但教程有def self.up
和def self.down
为什么?区别是什么呢?我现在应该编辑我的应用吗?未来呢?
已经从rails2迁移到rails3,现在rails3已经足够聪明,可以理解它应该如何响应您的命令
因此,将change
视为up
和down
的组合
如果你说
rake db:migrate
,它会认为它是up
rake db:rollback
,它会认为它是down
阅读更多
Rails 3.1引入了新的迁移更改方法。
参见Rails指南
Rails 3.1通过提供新的更改方法使迁移更加智能。这种方法更适合于编写建设性迁移(添加列或表)。迁移知道如何迁移数据库并在迁移回滚时将其逆转,而不需要写一个单独的down方法
因此,你的教程可能涵盖Rails 3.0,但不包括Rails 2,因为你已经使用Rails 3命令创建一个新的应用程序。