Как я могу хранить необходимые «базовые» или «исходные» данные для базы данных (в частности, Symfony)?

Я использую пакет миграции доктрины, чтобы отслеживать изменения в моей структуре базы данных. Я хотел бы убедиться, что при развертывании / добавлении нового сервера для моего приложения, что:

(A) схема базы данных обновлена ​​(доктрина: миграции: миграция)(B) база данных всегда содержит заранее определенный набор данных

Для (B) хорошим примером являются роли. Я хочу, чтобы определенный набор ролей всегда присутствовал. Я понимаю, что это возможно с миграциями баз данных, но мне не нравится идея смешивать изменения схемы с изменениями данных. Также, если я использую миграции MySql, мне придется создать эквивалентную миграцию Sqlite для моей тестовой базы данных.

Другой вариант, о котором я знаю, это данные. Однако, читая документацию, я чувствую, что приборы предназначены для загрузки тестовых данных. Также, если я изменил имя роли, я не знаю, как это будет обновляться с помощью приборов (поскольку они либо удаляют все данные в базе данных перед загрузкой, либо добавляют к ней). Если я использую append, уникальные ключи также будут проблемой.

Я рассматриваю возможность создания какой-либо команды, которая принимает набор файлов конфигурации и гарантирует, что определенные таблицы всегда находятся в согласованном состоянии, соответствующем файлам конфигурации - но если существует другая опция, я бы, конечно, хотел бы ее использовать.

Каков наилучший способ обработки загрузки и управления необходимыми данными в базе данных?

Ответы на вопрос(1)

Ваш ответ на вопрос