2008-10-14 27 views

回答

2

工作基本使用遷移。

有關如何使用遷移的一些有用幫助,請參閱http://wiki.rubyonrails.org/rails/pages/understandingmigrationshttp://wiki.rubyonrails.org/rails/pages/UsingMigrations。我使用的一個好的備忘錄也可在http://dizzy.co.uk/ruby_on_rails/cheatsheets/rails-migrations

基本上,遷移使用ruby代碼爲您創建數據庫表。這很容易(至少在我看來)使用漂亮的ruby代碼來做到這一點而不是SQL DDL - 它也會自動爲你做各種事情(比如像軌道需要的那樣將id字段添加到所有表中)。然後,您可以使用rake任務將遷移實際應用到數據庫。遷移給你的另一個主要優勢是它們是可逆的 - 所以你的數據庫是版本化的,你可以很容易地從一個版本跳到另一個版本。

+0

酷男。我會檢查這些鏈接。謝謝。 – 2008-10-14 12:51:24

1

如果您不使用腳手架,那麼您應該使用script/generate migration爲每個表創建一個遷移文件。沒有必要使用sql腳本。創建一些遷移後,您可以使用rake db:migrate將它們應用到數據庫。

2

儘量避免編寫CREATE/ALTER表腳本並改用ActiveRecord遷移。有幾個原因映入腦海:

  • 可移植性:它更容易讓 AR處理跨平臺的味道 差異
  • 變更控制:您 遷移可以管理與版本 兩個方向的變化= 選項,東西是不容易 做SQL
  • 這是Rails的方式: 遵循Rails的慣例,除非你 有一個令人信服的理由不 這麼做
  • 簡單:你不必擔心ID和時間戳列當您使用遷移,從而節省您不必記住他們,如果你在SQL
相關問題