16 lines
910 B
SQL
16 lines
910 B
SQL
-- Акции в админке: размер скидки, условия и чек-ап, к которому относится скидка.
|
||
-- Условия нужны по закону «О рекламе»: рекламировать скидку без её условий нельзя.
|
||
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-', '');
|