-- Contract Number Counters (сквозная нумерация договоров) CREATE TABLE IF NOT EXISTS contract_number_counters ( id SERIAL PRIMARY KEY, organization_id INTEGER NOT NULL REFERENCES organizations(id) ON DELETE CASCADE, form_id INTEGER NOT NULL REFERENCES forms(id) ON DELETE CASCADE, prefix TEXT NOT NULL, year INTEGER NOT NULL, last_number INTEGER NOT NULL DEFAULT 0, created_at TIMESTAMP DEFAULT NOW(), updated_at TIMESTAMP DEFAULT NOW() ); CREATE UNIQUE INDEX IF NOT EXISTS contract_number_counters_unique ON contract_number_counters (organization_id, form_id, prefix, year);