11 lines
663 B
SQL

-- Uploaded models have a file reference rather than generated panel geometry.
-- A cabinet without door openings is a valid model-only cabinet.
ALTER TABLE "DiyCabinetStyle"
DROP CONSTRAINT "DiyCabinetStyle_cellCount_check",
ADD CONSTRAINT "DiyCabinetStyle_cellCount_check"
CHECK ("cellCount" >= 0 AND jsonb_typeof(cells) = 'array' AND jsonb_array_length(cells) = "cellCount"),
DROP CONSTRAINT "DiyCabinetStyle_panelCount_check",
ADD CONSTRAINT "DiyCabinetStyle_panelCount_check"
CHECK ("panelCount" >= 0 AND jsonb_typeof(panels) = 'array' AND jsonb_array_length(panels) = "panelCount"
AND ("panelCount" > 0 OR "modelFileId" IS NOT NULL));