mnemo_cards/mnemo_cards_backend/migrations/001_remove_deprecated_fields.sql

54 lines
1.6 KiB
MySQL
Raw Normal View History

2026-01-03 13:14:27 +00:00
-- 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;
2026-01-08 13:02:47 +00:00