/* eslint-disable camelcase */ exports.shorthands = undefined; exports.up = pgm => { // Проверяем существование таблицы scheduled_notifications pgm.sql(` DO $$ BEGIN IF EXISTS ( SELECT 1 FROM information_schema.tables WHERE table_name = 'scheduled_notifications' ) THEN -- Проверяем, нет ли уже столбца processed IF NOT EXISTS ( SELECT 1 FROM information_schema.columns WHERE table_name = 'scheduled_notifications' AND column_name = 'processed' ) THEN -- Добавляем столбец processed ALTER TABLE scheduled_notifications ADD COLUMN processed BOOLEAN DEFAULT FALSE; END IF; ELSE -- Создаем таблицу, если она не существует CREATE TABLE scheduled_notifications ( id UUID PRIMARY KEY, user_id UUID REFERENCES users(id), type VARCHAR(50) NOT NULL, data JSONB, scheduled_at TIMESTAMP NOT NULL, processed BOOLEAN DEFAULT FALSE, created_at TIMESTAMP DEFAULT NOW() ); END IF; END $$; `); }; exports.down = pgm => { pgm.sql(` DO $$ BEGIN IF EXISTS ( SELECT 1 FROM information_schema.columns WHERE table_name = 'scheduled_notifications' AND column_name = 'processed' ) THEN ALTER TABLE scheduled_notifications DROP COLUMN processed; END IF; END $$; `); };