Я работаю над приложением, которое должно интегрироваться с существующей базой данных и другими устаревшими приложениями. Во всех устаревших приложениях подразумеваются неявные предположения, что существуют определенные записи в определенных таблицах.Rails: создать системные записи, если они не существуют
Например, в устаревшем коде предполагается, что запись с именем «Действительный» существует в статусе таблицы, а запись с именем пользователя «Система» существует в таблице пользователей.
Как я копаться в унаследованном код, я записывал эти неявные предположения, чтобы сделать их явными, так что я в состоянии:
установки небольшого дб разработки вместо использования свалка очень огромного производства db;
установка промежуточного дБ (опять же, без учета оборотов от производства);
провести испытания в чистом, предсказуемом разряде.
быть идемпотентным и НЕ испортить существующий дБ.
Вопрос: что бы вы использовали для создания системных записей, если они не существуют? Вы бы выбрали миграцию рельсов, семена, инициализатор или что?
Я лично предпочитаю использовать db: seed, если записи должны быть добавлены в базу данных при создании и переносе базы данных. или задача миграции или грабли также может быть вариантом, если вам нравится что-либо на последующих этапах – PriteshJ