-- Акции в админке: размер скидки, условия и чек-ап, к которому относится скидка. -- Условия нужны по закону «О рекламе»: рекламировать скидку без её условий нельзя. ALTER TABLE posts ADD COLUMN discount_percent smallint CHECK (discount_percent BETWEEN 1 AND 99), ADD COLUMN terms text NOT NULL DEFAULT '', ADD COLUMN checkup_id bigint REFERENCES checkups (id) ON DELETE SET NULL; -- Акции старого сайта — скидки на чек-апы с похожим адресом: «ya-v-sad-sale» ↔ «chek-ap-ya-v-sad». UPDATE posts p SET checkup_id = c.id FROM checkups c WHERE p.kind = 'promo' AND p.checkup_id IS NULL AND c.deleted_at IS NULL AND regexp_replace(p.slug, '-sale$', '') = regexp_replace(c.slug, '^chek-ap-', '');