2012-02-21 4 views
1

私は新鮮なデータベースを持つ新しいレールアプリを持っており、デフォルトのパスワードなどで管理者のようないくつかのデフォルトのエントリを追加したいのですが。ruby​​ on railsデータベースにデフォルト/初期データを挿入するためのベストプラクティスは何ですか?

どうすればいいですか?

    移行中
  • 使用Rubyコード::!User.create(:メール=> "[email protected]"、:パスワード=>「ABC

    は、私は両方の欠点を持っていることを、次の2つの可能性を知っています「)

  • 移行中
  • 使用SQLコード:I場合(ID、電子メール、パスワード)VALUES(1、 '[email protected]'、 'ABC')

最初の選択肢を破ることができるユーザー。INSERT INTOそれ以降のバージョンで私のコードを変更します。 2番目はDBMSに依存します。

私は自分のデータベースを変更するつもりはないので、私はSQLコードを使いますが、より良い選択肢がありますか?

答えて

1

は個人的に私は

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

シード・データを使用すると思います。このことの一つの利点は、そのすくいデシベルです:セットアップは、すくいデシベルを呼び出します。シードは、データベースを作成した後。新しいマシンには最適です。

0

最も良い方法は、db/seeds.rbでRubyコードを使用することです。

そのファイルの先頭にコメントは述べています:

このファイルには、そのデフォルト値で データベースをシードするために必要なすべてのレコードの作成が含まれている必要があります。次に、データに rake db:seed(またはdb:setupとともにdbの横に作成されたもの)をロードすることができます。

これは、初期化コードを移行ファイルに入れることよりも優先されます。私はseed_fuの宝石を使用し

関連する問題