Как в Doctrine исключить существующие таблицы из миграции 1

Для того что бы исключить кастомные (custom) или существующие таблицы из миграций Doctrine (команда в консоли migrations:diff) достаточно добавить ключ конфигурации настроек подключения.

На примере таблиц WordPress:

В этом «конфиге» ключ «filterSchemaAssetsExpression» записывается как регулярное выражение. В данном случае имеется ввиду исключить все таблицы которые начинаются на wp_

Таким образом при создание миграции на основе ваших файлов через команду:

В свеже-создайной миграции не будет всех таблиц WordPress имеющих префикс wp_ (стандартно для свежей установки WP)

Актуально для проекта composer.json:

Если не использовать «filterSchemaAssetsExpression» тогда при выполнение команды «diff» все таблицы не имеющие мета-описания в виде файлов проекта — будут добавлены в миграцию как DROP, пример ниже:

 

 

One Comment

  1. Перед переименованием таблицы вы должны проверить, что для всех ограничений внешних ключей таблицы есть явные имена в файлах вашей миграции, чтобы избежать автоматического назначения имён на основе принятого соглашения. Иначе имя ограничения внешнего ключа будет ссылаться на имя старой таблицы. Вдобавок к перечисленным типам столбцов существует несколько «модификаторов» столбцов, которые вы можете использовать при добавлении столбцов в таблицу. Например, чтобы сделать столбец «обнуляемым», используйте метод

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *