-- SMS-шаблоны по типу отгрузки: доставка / самовывоз -- 2026-09-28 -- -- Раньше текст SMS был зашит в python-кампании и упоминал только доставку, -- а редактируемый в админке sms_text_template не читался скриптами вообще. -- -- Теперь: -- sms_text_template — текст SMS для ДОСТАВКИ -- sms_text_template_pickup — текст SMS для САМОВЫВОЗА -- {link} подставляется ссылкой согласования; пустой шаблон → дефолт скрипта. -- Приоритет: текст профиля города (режим «Уведомление», sms_city_profiles) -- → шаблон кампании по типу отгрузки → дефолт. ALTER TABLE sms_campaign_settings ADD COLUMN IF NOT EXISTS sms_text_template_pickup text; COMMENT ON COLUMN sms_campaign_settings.sms_text_template IS 'Текст SMS для доставки. {link} — ссылка согласования.'; COMMENT ON COLUMN sms_campaign_settings.sms_text_template_pickup IS 'Текст SMS для самовывоза. {link} — ссылка согласования.'; -- Значения = фактически отправляемые тексты на момент миграции -- (до этого в first_sms/month лежал текст, который никуда не попадал) UPDATE sms_campaign_settings SET sms_text_template = 'Ваш заказ готов. Согласуйте дату доставки по ссылке: {link}', sms_text_template_pickup = 'Ваш заказ готов. Согласуйте дату самовывоза по ссылке: {link}' WHERE campaign_type = 'first_sms'; UPDATE sms_campaign_settings SET sms_text_template = 'Ваш заказ готов к доставке. Выберите дату доставки по ссылке: {link}', sms_text_template_pickup = 'Ваш заказ готов к самовывозу. Выберите дату самовывоза по ссылке: {link}' WHERE campaign_type = 'second_sms'; UPDATE sms_campaign_settings SET sms_text_template = 'Ваш заказ переведён на платное хранение. Стоимость: 300 ₽/день. Заберите заказ или согласуйте доставку: {link}', sms_text_template_pickup = 'Ваш заказ переведён на платное хранение. Стоимость: 300 ₽/день. Заберите заказ со склада или согласуйте дату самовывоза: {link}' WHERE campaign_type = 'paid_storage'; -- Проверка: -- SELECT campaign_type, sms_text_template, sms_text_template_pickup -- FROM sms_campaign_settings ORDER BY campaign_type;