2015-07-10 57 views
0

我是一名SQL專業人員和一名鐵軌新手。Rails數據庫Lifecyle

我很難理解如何最好地使用rails數據庫抽象。我可以在幾秒鐘內從SQL命令行完成的事情在rails中看起來非常費力。

例如:

我產生幾個模型支架,然後試圖生成遷移到同夥添加到這些模型。
生成的遷移使用'create table',由於該表已經存在,所以不起作用。
因此,我可以刪除並重新創建表或在遷移中使用SQL'ALTER TABLE'語句,這使我認爲我應該首先手動創建數據庫模型。

使用rails數據抽象技術的好處在於:使用建模工具和只使用模式來執行SQL:dump和schema:load?

回答

2

那麼你有很多原因需要使用遷移,而不僅僅是在控制檯中編寫你的create tableALTER TABLE

1.當我在表格中添加一個新表格時,會有一個記錄發生,而團隊中的其他開發人員將在下一次提交時知道它,而不必發送複雜的電子郵件到

2.當您使用了遷移,並且要改變從MySQL數據庫的Postgres或任何其他所有你需要做的是改變連接腳本並不是SQL Pro的基礎上說明

  • 您可以回滾您的更改 示例:

    class AddSsl < ActiveRecord::Migration 
        def up 
        add_column :accounts, :ssl_enabled, :boolean, default: true 
        end 
    
        def down 
        remove_column :accounts, :ssl_enabled 
        end 
    end 
    
  • 還有更多的事情可以通過遷移來完成。我開始看 http://api.rubyonrails.org/classes/ActiveRecord/Migration.html