28 lines
1.5 KiB
MySQL
28 lines
1.5 KiB
MySQL
|
|
-- Аудиты: статусы, индекс сложности, данные осмотра по пунктам/подпунктам
|
|||
|
|
|
|||
|
|
-- Статус аудита: новый, в работе, завершён
|
|||
|
|
ALTER TABLE development_audits ADD COLUMN IF NOT EXISTS status VARCHAR(20) DEFAULT 'new';
|
|||
|
|
UPDATE development_audits SET status = 'completed' WHERE status IS NULL OR status = '';
|
|||
|
|
ALTER TABLE development_audits ALTER COLUMN status SET DEFAULT 'new';
|
|||
|
|
ALTER TABLE development_audits ALTER COLUMN status SET NOT NULL;
|
|||
|
|
DO $$ BEGIN
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'development_audits_status_check') THEN
|
|||
|
|
ALTER TABLE development_audits ADD CONSTRAINT development_audits_status_check
|
|||
|
|
CHECK (status IN ('new', 'in_progress', 'completed'));
|
|||
|
|
END IF;
|
|||
|
|
END $$;
|
|||
|
|
|
|||
|
|
-- Индекс сложности дома (0–100)
|
|||
|
|
ALTER TABLE development_audits ADD COLUMN IF NOT EXISTS complexity_index NUMERIC(5, 2);
|
|||
|
|
DO $$ BEGIN
|
|||
|
|
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'development_audits_complexity_index_check') THEN
|
|||
|
|
ALTER TABLE development_audits ADD CONSTRAINT development_audits_complexity_index_check
|
|||
|
|
CHECK (complexity_index IS NULL OR (complexity_index >= 0 AND complexity_index <= 100));
|
|||
|
|
END IF;
|
|||
|
|
END $$;
|
|||
|
|
|
|||
|
|
-- Данные осмотра: пункты и подпункты (JSONB)
|
|||
|
|
ALTER TABLE development_audits ADD COLUMN IF NOT EXISTS inspection_data JSONB DEFAULT '{}';
|
|||
|
|
|
|||
|
|
CREATE INDEX IF NOT EXISTS idx_dev_audits_status ON development_audits(status);
|