Files
mymoney/database/migrations/004_income_titles.sql
2026-06-02 04:02:59 +02:00

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;