Наводим порядок в наших миграциях
Эти советы помогут поддерживать чистоту и порядок в процессе миграции баз данных в Symfony-приложении, особенно когда каталог миграций становится слишком объемным. Вот краткое изложение:
Локальная разработка и тестирование:
🟠Рекомендуется создать отдельную базу данных для локальной разработки.
🟠Использование doctrine:migrations:migrate вместо doctrine:schema:update для получения структуры базы данных из продакшена, включая таблицу migration_versions.
Очистка объемного каталога миграций:
🟠Если каталог миграций становится слишком большим, рекомендуется провести его очистку для локальной разработки.
🟠Можно удалить все миграции и создать новую единую миграцию с помощью symfony console doctrine:migrations:dump-schema.
Пропуск повторной миграции на продакшене:
🟠Переименовать новую миграцию в имя последней выполненной миграции на продакшене, чтобы избежать повторного выполнения.
🟠После этого сгенерировать пустую миграцию и внести SQL-оператор, который удалит предыдущие миграции из таблицы migration_versions.
Удаление ранее выполненных миграций из продакшена:
🟠Генерировать пустую миграцию и добавлять SQL-оператор для удаления предыдущих записей из таблицы migration_versions.
Тестирование и развертывание:
🟠Проверить новые миграции локально перед развертыванием на продакшене.
🟠Убедиться, что таблица migration_versions содержит только актуальные записи.
Post #3952
3.47K