Я ищу лучший способ заполнить справочные таблицы в моем приложении rails - для разработки, тестирования и производства (самый важный, конечно, для производства). (В идеале, я думаю, что использование по существу одной и той же процедуры для всех трех будет лучшим или, по крайней мере, самым простым решением; но я подозреваю, что это может быть не практичным или мудрым.)
Например, я собираюсь создать таблицу для базовой информации о запасах, которая обычно не изменяется (поля: символ, имя, сектор, отрасль). Мне нужно, чтобы эта таблица была загружена (например, через текстовый файл, содержащий эти данные для всех акций США) при первом запуске приложения в производстве, а также при тестировании и разработке, когда таблица еще не загружена. (В случае, если это имеет значение для моего вопроса, весьма вероятно, что эта таблица будет обновлена по мере появления новых данных [например, для компании, которая только что стала публичной].)
Я был удивлен, что я не нашел этот вопрос уже в stackoverflow. Это может быть там, но это невозможно найти с помощью поисков, которые я пробовал. Я нашел пару похожих вопросов (например, данные теста на посев), но не достаточно близко, чтобы предоставить то, что я ищу. Я даже не мог найти многое через поиск в Google! Я, однако, нашел это:
https://codingitwrong.com/2016/07/29/how-to-seed-and-migrate-rails-data.html
В частности, автор говорит: «Файл seed обычно используется для обоих этих [справочных данных по сравнению с образцами данных], но это затрудняет настройку исходных данных в рабочей среде. Руководства Rails не дают четкого представления о том, какие из эти семена файл для ...
Это может быть полезно для разделения двух. Thoughtbot рекомендует использовать файл seed для справочных данных и настроить отдельную задачу Rake для образцов данных. "
(Примечание. Исходя из приведенной выше цитаты, я гуглил «rails, зачем нужен файл seed.rb?» И нашел этот вопрос: Какова функция файла seed.rb?, который рекомендует использовать seed.rb для справочных данных. Поэтому, возможно, лучше использовать seed.rb. Если это так, то это означает, что seed.rb следует использовать для справочных данных, а не для настройки теста.)