nxtgauge-backend-rust/crates/db/migrations/20260326110000_departments_management_fields.up.sql
2026-03-26 20:58:43 +01:00

19 lines
831 B
SQL

ALTER TABLE departments
ADD COLUMN IF NOT EXISTS code VARCHAR(64),
ADD COLUMN IF NOT EXISTS description TEXT,
ADD COLUMN IF NOT EXISTS department_head VARCHAR(255),
ADD COLUMN IF NOT EXISTS department_email VARCHAR(255),
ADD COLUMN IF NOT EXISTS is_active BOOLEAN NOT NULL DEFAULT true,
ADD COLUMN IF NOT EXISTS visibility VARCHAR(20) NOT NULL DEFAULT 'INTERNAL',
ADD COLUMN IF NOT EXISTS transfers_enabled BOOLEAN NOT NULL DEFAULT false,
ADD COLUMN IF NOT EXISTS updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW();
UPDATE departments
SET updated_at = COALESCE(updated_at, created_at, NOW());
CREATE UNIQUE INDEX IF NOT EXISTS idx_departments_code_unique
ON departments (LOWER(code))
WHERE code IS NOT NULL;
CREATE INDEX IF NOT EXISTS idx_departments_is_active
ON departments (is_active);