Этап
Не будет выполнена
Тип
Исследование
Приоритет
Обычный
Трудоемкость
Обычная
Создана
Дата создания
4 года назад
Назначена
Обновлена
4 года назад

У нас уже стоит задача превратить все [tndt-34] в tndt-34, делать из этого одноразовую команду и при выкатке помнить какую запускать очень такое себе. Логично чтобы эта и подобные задачи решались в post_deploy цели, как сейчас накатываются миграции. Это фактически как миграции, но работают не с чистым SQL, а с доменной областью через сервисы (поэтому должны писаться более осторожно с пониманием, что эти сервисы могут и исчезнуть). А значит это должна быть параллельная миграциям система.

На текущей момент нужно реализовать две такие миграции:

  • замена ссылок, которые мы сейчас от балды оформляем на рабочие (когда они будут работать)
  • простановка всем задачам справочников. Не всех конечно, а тех, у которых есть явное дефолтное значение, например тип можно не проставлять, а вот этап должен быть проставлен в соответствие с закрытостью задачи)
  • в будущем будут миграции уже заполненных справочников в новые структуры.

Вобще сначала в системе появляется справочник, потом пм ручками его настраивает, а потом запускать команду, это уже не post_deploy, так что может эту задачу так не решить

Панель управления

Комментарии могут оставлять только авторизованные пользователи
 demius 4 года назад

Решили отложить, как вопрос сложный и неоднозначный, и пока что неактуальный.

 demius 4 года назад

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

 demius 4 года назад

Кстати, а как мигрировать на измененные справочники? Сейчас мы это сделали вручную, так как они существуют только на машине разработчика. Но потом ,при добавлении полей в элементы, надо будет обновить эти поля. Архитектурно это должны делать классические миграции. Но для этого они должны делать более сложную работу, чем обновление схемы данных через SQL. Здесь стоит серьёзнее покопать пакет doctrine/migration, а может быть и заменить его