使用 Seed.rb 时的最佳实践
我在理解如何在 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:migrate
和rake db:seed
以确保本地数据库是最新的。 - 将应用程序部署到生产服务器。
rake db:seed
正在服务器上运行,以确保数据库是最新的。
这个工作流程可以吗?如果不行,我应该把新数据放在哪里,以确保每个开发人员都有最新的数据库?
I'm having some difficulties understanding how to use the seed.rb
script in rails.
So far, I've used it to populate my database every time i deploy my application.
Like this.
seed.rb
["Video", "Tv"].each do |thing|
Category.create(name: thing)
end
category.rb
class Category < ActiveRecord::Base
validates_uniqueness_of :name
end
The script can now be runned every deploy or pull.
Anyone in the dev team can now add their own category without have to worry about duplications.
Like this.
Person one
- Adding the
Table
category toseed.rb
. - Commit and push to master.
Person two
- Pull master.
- Run
rake db:migrate
andrake db:seed
to ensure that the local database is up-to-date. - Deploy application to production server.
rake db:seed
is being runned on the server to ensure an up-to-date database.
Is this workflow okay, if not, where should I put the new data to ensure that every developer has an up-to-date database?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议编写您的种子,以便它可以多次运行,而无需尝试创建重复的类别...
I would recommend writing your seed so that it can be run more than once without trying to create duplicate categories...