Rails - 在部署中自动填充表中的数据 - 角色

时间:2010-11-01 22:54:41

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

在我的应用程序中,我有一张ROLES表。很简单: 1:Admin,DESC的东西 2:嘉宾,描述内容

等。

我刚刚遇到的问题是我在heroku上部署应用程序并且一切都坏了,原因是数据库中的这些默认角色没有在部署中填充...我没想过的东西。

使用Rails 3,有没有办法说,你好Rails先生,这是表的默认值吗?在迁移或数据库创建?

由于

2 个答案:

答案 0 :(得分:6)

在Rails中有一个名为种子数据的概念,您可以使用它来执行此操作。

db 目录中创建了一个名为 seeds.rb 的文件。你可以在其中创造这样的东西。

所以例如

 Role.create(:name => "Administrator") 

将进入此文件。

您可以致电 rake db:seed 将此数据播种到您的应用中。

还有关于此问题的有轨看法 - http://railscasts.com/episodes/179-seed-data

答案 1 :(得分:0)

如果角色是应用程序逻辑的一部分,那么最好将它们定义为代码库中的数组。 如果添加新角色,这还可以防止必须同步数据库。