Ruby on Rails。 DB中的预定义数据安装

时间:2015-11-10 11:52:49

标签: ruby-on-rails

我是Ruby on Rails的新手,并且遇到了一些问题。我在Rails上编写应用程序,我必须在我的数据库中安装一些预定义的数据才能在我的应用程序中使用它。此数据是只读的,永远不会更改(例如用户和角色。创建新用户和角色没有用例。)

所以当我的应用程序第一次运行时,我必须安装这些数据。我尝试使用迁移来解决这个问题,但是我的经理告诉我这不是正确的方法,因为迁移通常用于定义数据库结构更改而不是在数据库中安装任何数据。

你能帮助我并告诉我使用Ruby on Rails安装预定义数据的更好方法吗?

3 个答案:

答案 0 :(得分:1)

您应该使用seeds。见rails cast

您还可以查看Dibber,它允许您通过YML文件定义种子。

答案 1 :(得分:1)

您要做的是为数据库提供种子。 Rails带有db/seeds.rb,您可以使用它来执行此操作。还有一些宝石,例如你可以使用的seed-fu

这是在Rails中为数据库播种的short tutorial

答案 2 :(得分:1)

您可以使用seeds functionality

来实现这一目标
  

要在创建数据库后添加初始数据,Rails有一个内置的种子'功能,使过程快速简便。在开发和测试环境中频繁重新加载数据库时,这尤其有用。开始使用此功能非常简单:只需使用一些Ruby代码填充db/seeds.rb,然后运行rake db:seed

#db/seeds.rb
User.create name: "test", description: "info"

$ rake db:seed

-

如果您想要静态数据,您将能够使用config gem等宝石 - 这使您能够在{{1}中分配值}:

enter image description here

然后可以config/settings.yml

访问此数据