有没有快速的方法为Rails应用程序创建随机开发数据?

时间:2009-06-25 10:02:20

标签: ruby-on-rails ruby

我想写一个Rake任务,它将为我的应用程序加载一些开发数据,这样我就可以在浏览器中看到设计的样子,其中填充了一些数据。我曾尝试使用ActiveRecord和Faker gem进行黑客攻击,但我很难保持简单实用。它很快变得笨拙。

问题是类之间的关系相当复杂。

只是想知道它是什么样的,这里是布局部分的简化版本......

assets
------
make
model
serial_number
asset_type_id

asset_types
-----------
general_type
specific_type

attribute_names
---------------
asset_id
name

attribute_values
----------------
value
asset_id
attribute_name_id

还有usersroles以及其他一些人。

有什么建议吗?我应该知道有用的宝石吗?

要添加的一件事......如果数据有意义,那就太好了。例如。如果资产类型是“计算机”,则制造商是“戴尔”等,但这并非绝对必要。

5 个答案:

答案 0 :(得分:5)

通过railscasts.com观看此截屏视频: http://railscasts.com/episodes/126-populating-a-database

答案 1 :(得分:2)

查看Populator GEM。 您可以提供一组值,它将随机选择一个。

答案 2 :(得分:2)

你可能还想看一下Machinist和/或Faker(机械师使用但它本身就是一颗宝石)。

答案 3 :(得分:0)

您是否必须从头开始生成测试数据?如果数据结构复杂,那将很困难。

你不能只是采取一些数据库转储,根据需要对其进行匿名化并将其作为测试数据加载吗?这就是我们正常做的事情。

答案 4 :(得分:0)

您可能想尝试一下。

https://github.com/blacktea/populate-db-now

对我们的开发团队来说就像一个魅力: - )