33 lines
660 B
SQL
33 lines
660 B
SQL
DO $$
|
|
BEGIN
|
|
IF NOT EXISTS (
|
|
SELECT 1
|
|
FROM pg_constraint
|
|
WHERE conname = 'payment_titles_type_valid'
|
|
) THEN
|
|
ALTER TABLE payment_titles
|
|
ADD CONSTRAINT payment_titles_type_valid CHECK (
|
|
payment_type IN ('subscription', 'bill', 'one_time', 'income', 'any')
|
|
);
|
|
END IF;
|
|
END $$;
|
|
|
|
INSERT INTO payment_titles (
|
|
user_id,
|
|
name,
|
|
normalized_name,
|
|
payment_type,
|
|
created_at,
|
|
updated_at
|
|
)
|
|
SELECT DISTINCT
|
|
user_id,
|
|
title,
|
|
LOWER(REGEXP_REPLACE(TRIM(title), '\s+', ' ', 'g')),
|
|
'income',
|
|
NOW()::text,
|
|
NOW()::text
|
|
FROM income
|
|
WHERE TRIM(title) <> ''
|
|
ON CONFLICT (user_id, normalized_name, payment_type) DO NOTHING;
|