Запуск сценариев один раз при развертывании - PullRequest
4 голосов
/ 12 июля 2011

В настоящее время мы используем Phing для развертывания и используем dbdeploy для применения любых изменений в базе данных.Однако иногда мы хотели бы внести изменения во время развертывания, которые лучше обрабатываются нашей объектной моделью, и поэтому мы пишем один раз, используя PHP-скрипты, которые запускаем вручную после развертывания.

Существуют ли какие-либо существующиерешения, подобные dbdeploy, которые будут обрабатывать запущенные сценарии и, что более важно, отслеживать, какие из них были запущены, чтобы каждый сценарий запускался только один раз?

Ответы [ 3 ]

1 голос
/ 13 июля 2011

Я думаю, что это может быть потенциально полезно и для других. Если вы не можете придумать другое решение, я думаю, что лучше всего будет взглянуть на файл, который реализует задачу DBDeploy , скопировать его в пользовательскую задачу, повторно использовать функцию проверки базы данных, но вместо при создании сценариев SQL выполняются необходимые сценарии.

Если вы довольны этим, вы также можете рассмотреть возможность добавления его в Phing. Я уверен, что они будут рады включить его (см. Phing-Как внести свой вклад ).

0 голосов
/ 12 июля 2011

Вероятно, проще всего было бы использовать Phing ExecTask , см. Также Руководство пользователя Phing (стабильное) .

0 голосов
/ 12 июля 2011

Как насчет:

  1. Помещение ваших скриптов в папку.
  2. Цикл по папке и выполнение скриптов.
  3. Удалить / переместить файлы сценариев после выполнения.

Звучит как хак, но это просто, imo.

...