slo_nik
@slo_nik

Как исключить старые таблицы?

Доброе утро.

Есть старый проект на yii2 и с кучей таблиц в mysql.

Необходимо прикрутить новый функционал. Для работы с базой выбрана doctrine. При создании миграции doctrine указывает в up миграции старые таблицы на удаление.
Новые таблицы имеют префикс "amqp_".
Пробовал отфильтровать старые таблицы, но результата не дало.

mi:diff --filter-expression='~^(?!amqp_)~' -n

Можно как-то исключить старые таблицы, чтобы doctrine не обращала на них внимания?

UPD.

Благодаря Максим Федоров вопрос решился, чтобы не мучатся в консоли с постоянным вводом --filter-expression надо воспользоваться решением по второй ссылке.

Хоря работает и в консоли, так как я указывал. Не фильтровало из-за маленькой ошибки в команде. Так как я запускаю консольные команды через composer, то перед командой mi:diff надо указывать два дефиса, тогда команда корректно отфильтрует таблицы.

composer app -- mi:diff --filter-expression='~^(?=amqp_)~' -n
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
Maksclub
@Maksclub
maksfedorov.ru
Игнорируемые таблицы можно указать так:
https://symfony.com/bundles/DoctrineMigrationsBund...

Если у вас не симфони, а просто Доктрина, то вот так (это тоже самое, что в Симфони-билде и делается):
https://github.com/doctrine/migrations/blob/e542ad...

UPD: у вас корректный способ указан. Видимо дело в кеше или чем-то таком
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы