簡體   English   中英

將默認/初始數據插入Rails數據庫中的ruby的最佳實踐是什么?

[英]What is the best current practise to insert default/initial data into a ruby on rails database?

我有一個帶有新數據庫的新Rails應用,我想添加一些默認條目,例如使用默認密碼的admin等。

我應該如何進行?

我知道兩種可能都有缺點的可能性:

  • 在遷移中使用紅寶石代碼:User.create!(:email =>“ admin@example.com”,:password =>“ abc”)
  • 在遷移中使用SQL代碼:INSERT INTO用戶(ID,電子郵件,密碼)VALUES(1,“ admin@example.com”,“ abc”)

如果我在以后的版本中更改代碼,第一個選擇可能會中斷。 第二個有點依賴於DBMS。

由於我不打算更改數據庫,因此我會使用SQL代碼,但是還有更好的選擇嗎?

我個人會使用種子數據

http://railscasts.com/episodes/179-seed-data

這樣的優點之一是rake db:setup在創建數據庫之后調用rake db:seed。 這是新機器的完美選擇。

最好的方法是在db/seeds.rb使用Ruby代碼。

該文件開頭的注釋說:

該文件應包含使用默認值為數據庫播種所需的所有記錄創建。 然后可以使用rake db:seed加載數據(或使用db:setup與db一起創建)。

這比將初始化代碼放入遷移文件中更為可取。

我使用了seed_fu gem,但我還沒有遇到任何無法解決的問題:

https://github.com/mbleigh/seed-fu

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM