使用seed.rb时的最佳做法

时间:2011-04-19 21:09:55

标签: ruby-on-rails ruby-on-rails-3 seed

我在理解如何在rails中使用seed.rb脚本时遇到了一些困难。

到目前为止,我每次部署应用程序时都使用它来填充数据库。

喜欢这个。

seed.rb

["Video", "Tv"].each do |thing|
  Category.create(name: thing)
end

category.rb

class Category < ActiveRecord::Base
  validates_uniqueness_of :name
end

现在可以在每次部署或拉取时运行脚本。 开发团队中的任何人现在都可以添加他们自己的类别,而不必担心重复。

喜欢这个。

第一个人

  • Table类别添加到seed.rb
  • 承诺并推动掌握。

第二个人

  • 拉大师。
  • 运行rake db:migraterake db:seed以确保本地数据库是最新的。
  • 将应用程序部署到生产服务器。正在服务器上运行rake db:seed以确保数据库是最新的。

此工作流程是否可以,如果没有,我应该在哪里放置新数据以确保每个开发人员都拥有最新的数据库?

1 个答案:

答案 0 :(得分:5)

我建议您编写种子,以便在不尝试创建重复类别的情况下多次运行...

["Video", "Tv"].each do |thing|
  Category.find_or_create_by_name(thing)
end