2013-04-04 69 views
0

我是新来的Rails - 我开始了一个新的Rails应用程序rails new test,然后rails generate scaffold Name column1:datatype column2:datatype脚手架 - 轨道产生 - 数据迁移高清在

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

为什么?有什么区别?我现在应该编辑我的应用程序吗?并在未来?

回答

2

迁移已经从rails2改为Rails3中,现在Rails3中是足够聪明,明白应该如何响应您的命令

因此,考虑change作为updown

组合,如果你说

rake db:migrate将它视为up

rake db:rollback它会认为它是down

read more here

1

的Rails 3.1中引入的新的变化的方法来迁移。

See Rails guides

的Rails 3.1使迁移聪明通过提供一种新的变化的方法。 此方法对于编写建设性迁移(添加 列或表)是首选。迁移知道如何迁移数据库 并在迁移回滚时将其反转,而不需要编写单独的向下方法 。

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