2013-04-04 70 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命令創建新的應用程序。