seed-fu のインストール
まず seed-fu をインストールします。
Gemfile
gem 'seed-fu'
$ bundle install
を実行
ディレクトリを作成
次に seed ファイルを置くディレクトリを作成します。
db/fixtures
db/fixtures/development
db/fixtures/production
db/fixtures
は必ず必要なディレクトリです。
db/fixtures
に作成した seed ファイルを置くこともできますが、db/fixtures/development
、 db/fixtures/production
に seed ファイルを作成すると環境ごとに異なるデータを作成することができます。
seed ファイルの作成
db/fixturesに以下のように seed ファイルを作成します。
ここでは例として Category モデルを使っています。
01_category.rb
Category.seed do |s|
s.id = 1
s.name = 'HTML'
end
Category.seed do |s|
s.id = 2
s.name = 'CSS'
end
Category.seed do |s|
s.id = 3
s.name = 'Ruby'
end
seed_fu コマンドの実行
$ rails db:seed_fu
を実行することでデータが作成されます。
データの更新
一度作ったデータを更新したい時は、変更したい部分を修正し、もう一度$ rails db:seed_fu
を実行します。
01_category.rb
...
Category.seed do |s|
s.id = 3
s.name = 'Ruby on Rails'
end