现在团队的做法是,用 Excel 编辑大量程序初期所需基础数据,然后写宏转换成 SQL 的 insert 语句并生成相关文件,再用还原的方式导入到数据库中。 有没有更好的办法?
seed_fu 这个 gem 可以导入,但编辑起数据还不是太方便。
seed_fu 支持简化语法,还算可以吧:
User.seed(:id,
{ :id => 1, :login => "jon", :email => "[email protected]", :name => "Jon" },
{ :id => 2, :login => "emily", :email => "[email protected]", :name => "Emily" }
)
如果还嫌麻烦,seed_fu 也支持 cvs 导入 https://github.com/mbleigh/seed-fu/blob/master/lib/seed-fu/writer.rb
我用 fixture,好处是 test 和 development 的数据可以用同一套,而且 test 跑的速度很快,缺点是维护起来稍麻烦。
rake db:fixtures:load FIXTURES_PATH='spec/fixtures' RAILS_ENV=development