2009-08-08 99 views
6

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

回答

11

您的选择:这里列出

  1. 使用迁移:http://railspikes.com/2008/2/1/loading-seed-data
  2. 使用第三方插件,如:seed-fudb-populate
  3. 使用固定装置,这是在轨道秒杀文章中介绍。
  4. 等待轨道3和使用新seeds.rb:http://github.com/rails/rails/commit/4932f7b38f72104819022abca0c952ba6f9888cb

我个人使用修改yaml-db。我喜欢将我的种子数据构建到我的开发环境中,并将其备份到我的存储库中,当我上线时,可以使用rake任务加载它。

0

不能你刚才创建单独的迁移和运行它们s​​eperatly

2

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