Выполните следующую/предыдущую миграцию с помощью миграции доктрины с использованием symfony 3


Я знаю, что могу выполнять определенные миграции, используя execute с up / down и номер версии, т.е.

doctrine:migrations:execute YYYYMMDDHHMMSS --down

Тогда мой вопрос - есть ли более простой способ просто запустить следующую или предыдущую миграцию без необходимости искать номера версий?

В идеале я хотел бы что-то вроде

doctrine:migrations:execute --down n

Где n - количество миграций, выполняемых из текущего в указанном направлении.

(та же идея, что и rake db:rollback STEP=n)

Author: Bananaapple, 2017-08-18

3 answers

Ближе всего к тому, что я искал, это:

doctrine:migrations:migrate prev

doctrine:migrations:migrate next

Их нельзя использовать в сочетании с n, поэтому, если вы хотите сделать больше, чем 1, вам нужно использовать doctrine:migrations:migrate с номером версии, к которой вы хотите перейти.

 8
Author: Bananaapple, 2017-08-18 12:22:05

В руководстве По доктринам миграции говорится о миграциях по YYYYMMDDHHMMSS. Потому что n - это не число, а дата. Вы можете выбрать статус и посмотреть, как изменилась ваша последняя версия

php app/console doctrine:migrations:status --show-versions
 3
Author: Konstantin Okhotnick, 2017-08-18 11:44:37

Обычно я просто вызываю status, который показывает, есть ли новые. Если это так, то я вызываю migrate, и он запускает все новые. Смотрите Документы здесь http://docs.doctrine-project.org/projects/doctrine-migrations/en/latest/reference/introduction.html

 0
Author: delboy1978uk, 2017-08-18 11:30:20