Rails迁移:加载默认数据

时间:2009-08-08 04:34:19

标签: ruby-on-rails activerecord migration

加载种子数据的最佳方法?我有一个与Users表紧密耦合的Author表。我也有迁移来改变这两个表。我想添加一个默认的管理员用户,但我想确保在我的CreateDefaultAdmin(或其他)迁移运行之前创建了两个表并且已经为这些表运行了所有迁移。这样做有最好的做法吗?对不起,如果已经问过这个问题。

4 个答案:

答案 0 :(得分:11)

您的选择:

  1. 使用此处概述的迁移:http://railspikes.com/2008/2/1/loading-seed-data
  2. 使用第三方插件,例如:seed-fudb-populate
  3. 使用固定装置,在导轨钉状物品中列出。
  4. 等待rails 3并使用新的seeds.rb:http://github.com/rails/rails/commit/4932f7b38f72104819022abca0c952ba6f9888cb
  5. 我个人使用修改后的yaml-db。我喜欢将所有种子数据构建到我的开发环境中,并将其保存在我的存储库中,当我上线时,我可以使用rake任务加载它。

答案 1 :(得分:2)

最新的(edge?)版本的Rails包含一个db / seeds.rb文件,您可以在其中放置代码以在数据库中创建记录。在此之前,迁移是可行的方法,但是当模式不断变化时(这是迁移文件的整个点),它们可能会变得混乱。

答案 2 :(得分:0)

您无法创建单独的迁移并单独运行

答案 3 :(得分:0)

尝试将Factory Girl作为紧密耦合模型的替代品:

http://www.thoughtbot.com/projects/factory_girl

相关问题