我对RoR很新,我正在为用户开发一些基于角色的基本权限模型。
但是,我希望默认情况下某些角色在数据库中,我在哪里将相应的行插入到我的数据库中?
到目前为止,我是在一个单独的迁移中完成的,只是'创建!'是各自的对象。
但是,如果我运行rake db:migrate && rake db:test:prepare
,则只有我的开发数据库会填充数据,而test-db只更新其模式并保持为空。
那么,我如何/在何处将此类默认数据插入我的数据库?
thx任何帮助
答案 0 :(得分:0)
我找到了一个很好的宝石,对于处理seed-fu这样的场景很有意思。
答案 1 :(得分:0)
我会使用迁移来形成数据库的数据 - 这是应用程序的基本部分。但是db / seed.rb(rake db:seed)也是一个很好的方法 - 如果你不希望在投入生产后发生重大变化。
没有办法是完美的,迁移中的数据不会存储到模式中以恢复测试数据库,但调用两次相同的seed.rb也不是很好。在重新运行/
时,不要忘记使逻辑足够智能化以避免冲突答案 2 :(得分:0)
您可以在此处找到我对类似问题的回答:prepopulating admin user in database with authlogic rails plugin
基本上rails有一个名为db / seed.rb的文件,您可以在默认情况下放置需要添加的内容,然后运行“rake db:seed”来加载它。
答案 3 :(得分:0)
我使用seed-fu,非常容易使用,并且可以完全满足您的需求。