Выполните следующую / предыдущую миграцию с миграциями доктрин, используя 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

Другие вопросы по тегам