前準備
ActiveRecordクラスだけ作っておく
app/models/city.rb
class City < ActiveRecord::Base
end
既存DB(のSlaveやコピー)に接続する環境を用意しておく
この環境は一時的にあればよい
config/database.yml
dump:
...
実行
rails console起動
ダンプ用に作っておいた環境につなぐ
$ RAILS_ENV=dump rails c
rails consoleに以下のコードを打ち込む
SeedFu::Writer.write('db/fixtures/cities.rb', class_name: 'City') do |writer|
City.order(:id).find_each do |city|
writer << city.attributes
end
end
以上w
制御
SeedFu::Writer.write
メソッドにオプション渡すといろいろ制御できる。
例えば、seed_once
で出力したければこんな感じ。
SeedFu::Writer.write('db/fixtures/cities.rb', class_name: 'City', seed_type: :seed_once) do |writer|
他にもオプションあるので、気になる場合はソース見たほうが早い。
https://github.com/mbleigh/seed-fu/blob/master/lib/seed-fu/writer.rb