mnemo_cards/mnemo_cards_backend/migrations/001_remove_deprecated_fields.sql
Dmitry ce564924f2
Some checks are pending
Backend CI / test (push) Waiting to run
Backend CI / build (push) Blocked by required conditions
Web App CI / test (push) Waiting to run
Web App CI / build (push) Blocked by required conditions
Deploy Mnemo Cards / Deploy Backend (push) Waiting to run
Deploy Mnemo Cards / Deploy Web App (push) Blocked by required conditions
Deploy Mnemo Cards / Final Verification (push) Blocked by required conditions
paths
2026-01-24 15:31:47 +03:00

54 lines
1.6 KiB
SQL

-- Migration 001: Remove deprecated fields from payments table
-- Date: 2025-12-14
-- Description: Remove deprecated packs and subscription columns from payments
-- Проверка перед удалением: убедиться что все используют products
DO $$
DECLARE
count_with_packs INTEGER;
count_with_subscription INTEGER;
BEGIN
-- Проверить сколько записей используют старые поля
SELECT COUNT(*) INTO count_with_packs
FROM payments
WHERE packs IS NOT NULL AND packs != '[]';
SELECT COUNT(*) INTO count_with_subscription
FROM payments
WHERE subscription = true;
-- Показать предупреждение если есть данные
IF count_with_packs > 0 THEN
RAISE WARNING 'Found % payments with non-empty packs field. Please migrate data first!', count_with_packs;
END IF;
IF count_with_subscription > 0 THEN
RAISE WARNING 'Found % payments with subscription=true. Please migrate data first!', count_with_subscription;
END IF;
END $$;
-- Если warnings есть, остановитесь и мигрируйте данные!
-- Если нет - продолжайте:
-- Backup: создать копию перед удалением (опционально)
-- CREATE TABLE payments_backup_20251214 AS SELECT * FROM payments;
-- Удаление deprecated колонок
ALTER TABLE payments DROP COLUMN IF EXISTS packs;
ALTER TABLE payments DROP COLUMN IF EXISTS subscription;
-- Проверка результата
\d payments
-- Vacuum для освобождения места
VACUUM FULL ANALYZE payments;