-- 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;