4

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

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

像这样。

种子.rb

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

类别.rb

class Category < ActiveRecord::Base
  validates_uniqueness_of :name
end

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

像这样。

人一

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

人二

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

这个工作流程可以吗?如果不行,我应该把新数据放在哪里以确保每个开发人员都有一个最新的数据库?

4

1 回答 1

5

我建议编写您的种子,以便它可以多次运行而无需尝试创建重复的类别...

["Video", "Tv"].each do |thing|
  Category.find_or_create_by_name(thing)
end
于 2011-04-19T21:21:32.213 回答