Выполните следующую / предыдущую миграцию с миграциями доктрин, используя symfony 3
Я знаю, что могу запустить определенные миграции, используя execute
с up
/ down
и номер версии, т.е.
doctrine:migrations:execute YYYYMMDDHHMMSS --down
Тогда мой вопрос - есть ли более простой способ просто выполнить следующую или предыдущую миграцию без необходимости искать номера версий?
В идеале хотелось бы что-то вроде
doctrine:migrations:execute --down n
куда n
количество миграций, запущенных из текущего в указанном направлении.
(та же идея, что и rake db:rollback STEP=n
)
3 ответа
Самое близкое к тому, что я искал, это:
doctrine:migrations:migrate prev
doctrine:migrations:migrate next
Они не могут быть использованы в сочетании с n
хотя, так что если вы хотите сделать больше 1, вам нужно использовать doctrine:migrations:migrate
с номером версии, на которую вы хотите перейти.
В руководстве DoctrineMigrationsBundle рассказывается о миграции 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