Выполните следующую/предыдущую миграцию с помощью миграции доктрины с использованием symfony 3
Я знаю, что могу выполнять определенные миграции, используя execute
с up
/ down
и номер версии, т.е.
doctrine:migrations:execute YYYYMMDDHHMMSS --down
Тогда мой вопрос - есть ли более простой способ просто запустить следующую или предыдущую миграцию без необходимости искать номера версий?
В идеале я хотел бы что-то вроде
doctrine:migrations:execute --down n
Где n
- количество миграций, выполняемых из текущего в указанном направлении.
(та же идея, что и rake db:rollback STEP=n
)
3 answers
Ближе всего к тому, что я искал, это:
doctrine:migrations:migrate prev
doctrine:migrations:migrate next
Их нельзя использовать в сочетании с n
, поэтому, если вы хотите сделать больше, чем 1, вам нужно использовать doctrine:migrations:migrate
с номером версии, к которой вы хотите перейти.
В руководстве По доктринам миграции говорится о миграциях по YYYYMMDDHHMMSS
. Потому что n
- это не число, а дата. Вы можете выбрать статус и посмотреть, как изменилась ваша последняя версия
php app/console doctrine:migrations:status --show-versions
Обычно я просто вызываю status
, который показывает, есть ли новые. Если это так, то я вызываю migrate
, и он запускает все новые. Смотрите Документы здесь http://docs.doctrine-project.org/projects/doctrine-migrations/en/latest/reference/introduction.html