Как справиться с одноразовыми задачами развертывания с capistrano?

Я в настоящее время пытаюсь автоматизировать процесс развертывания нашего приложения для направляющих как можно больше, так, чтобы чистое основывалось на сервере CI, может инициировать автоматизированное развертывание на тестовом сервере.

Но я столкнулся с чем-то вроде препятствия со следующим сценарием: Я добавил friendly_id драгоценный камень к приложению. Существует миграция, которая составляет все необходимые таблицы. Но заполнить эти таблицы, я должен назвать задачу граблей.

Теперь, эти грабли, которыми задачи только нужно назвать однажды, таким образом добавив его к сценарию развертывания, были бы излишеством.

Идеально, я ищу что-то как миграции, но вместо базы данных, это должно отслеживать сценарии, которые нужно назвать во время развертывания. Такой зверь уже существует?

6
задан AGraefe 26 January 2010 в 11:06
поделиться

2 ответа

3787373-

Я не могу думать о том, что именно то, что вы хотите, но если вам просто нужно иметь возможность выполнять задачи на удаленных серверах в один из моды, вы всегда можете использовать грабли через Capistrano Отказ

Есть такой вопрос для этого здесь: Как запустить задачу грабли из CAPistrano? , который также ссылается на эту статью http://ananelson.com/said/on/2007 / 12/30 / / 30 / Удаленные грабли-задачи-с-caquistrano / .

Редактировать: Интересно, можно ли создать миграцию, которая не делает никаких изменений базы данных, но просто вызывает задачу грабли? Рейк :: Задача [«Задача: имя»]. Вызвать . Стоит попробовать?

1
ответ дан 17 December 2019 в 04:46
поделиться

Я бы считал, что выполнение этой задачей грабля является частью миграции на использование Frience_id. Конечно, вы создали таблицы, но вы еще не закончены! Вы все еще должны выполнять некоторые обновления данных, прежде чем вы по-настоящему мигрируете.

Позвоните за задачу грабли из вашей миграции. Это обновит существующие данные, а новые записи будут обрабатываться вашей логикой приложения в будущем.

1
ответ дан 17 December 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: