Существует ли быстрый способ создания случайных данных разработки для приложения Rails? - PullRequest
0 голосов
/ 25 июня 2009

Я хотел бы написать задачу Rake, которая будет загружать некоторые данные разработки для моего приложения, чтобы я мог видеть, как выглядит дизайн в браузере с некоторыми данными, заполненными там. Я пытался что-то взломать, используя ActiveRecord и гем Faker, но мне трудно сделать это простым и практичным. Это быстро становится громоздким.

Проблема в том, что отношения между классами довольно сложны.

Просто, чтобы дать представление о том, на что это похоже, вот упрощенная версия части макета ...

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

Также есть users и roles и куча других.

Есть предложения? Полезные камни, о которых я должен знать?

Одна вещь, которую нужно добавить ... Было бы хорошо, если бы данные имели смысл. Например. если тип актива был «компьютерный», то маркой был «Dell» и т. д., хотя в этом нет особой необходимости.

Ответы [ 5 ]

5 голосов
/ 25 июня 2009

Посмотрите на эту заставку railscasts.com: http://railscasts.com/episodes/126-populating-a-database.

2 голосов
/ 25 июня 2009

Вы также можете взглянуть на Машинист и / или Факер (который Машинист использует, но сам по себе является самоцветом).

2 голосов
/ 25 июня 2009

Проверьте Populator GEM . Вы можете предоставить массив значений, и он будет случайным образом выбирать одно.

0 голосов
/ 30 марта 2017

Возможно, вы захотите попробовать это.

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

Работает как шарм для нашей команды разработчиков: -)

0 голосов
/ 25 июня 2009

Вам нужно сгенерировать тестовые данные с нуля? Это будет сложно, если структуры данных будут сложными.

Разве вы не можете просто взять дамп базы данных, при необходимости анонимизировать его и загрузить в качестве тестовых данных? Это то, что мы обычно делаем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...