在我的应用程序中,我有一张ROLES表。很简单: 1:Admin,DESC的东西 2:嘉宾,描述内容
等。
我刚刚遇到的问题是我在heroku上部署应用程序并且一切都坏了,原因是数据库中的这些默认角色没有在部署中填充...我没想过的东西。
使用Rails 3,有没有办法说,你好Rails先生,这是表的默认值吗?在迁移或数据库创建?
由于
答案 0 :(得分:6)
在Rails中有一个名为种子数据的概念,您可以使用它来执行此操作。
在 db 目录中创建了一个名为 seeds.rb 的文件。你可以在其中创造这样的东西。
所以例如
Role.create(:name => "Administrator")
将进入此文件。
您可以致电 rake db:seed
将此数据播种到您的应用中。
还有关于此问题的有轨看法 - http://railscasts.com/episodes/179-seed-data。
答案 1 :(得分:0)
如果角色是应用程序逻辑的一部分,那么最好将它们定义为代码库中的数组。 如果添加新角色,这还可以防止必须同步数据库。