diff --git a/schemas/01-construction-schema-ddl.sql b/schemas/01-construction-schema-ddl.sql index 510ffa9..13976b4 100644 --- a/schemas/01-construction-schema-ddl.sql +++ b/schemas/01-construction-schema-ddl.sql @@ -708,6 +708,33 @@ CREATE TABLE IF NOT EXISTS construction.contrato_partidas ( deleted_by UUID REFERENCES auth.users(id) ); +-- Tabla: contrato_addendas (addendas/modificaciones a contratos) +CREATE TABLE IF NOT EXISTS construction.contrato_addendas ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + tenant_id UUID NOT NULL REFERENCES auth.tenants(id) ON DELETE CASCADE, + contrato_id UUID NOT NULL REFERENCES construction.contratos(id) ON DELETE CASCADE, + addendum_number VARCHAR(50) NOT NULL, + addendum_type VARCHAR(30) NOT NULL, + title VARCHAR(255) NOT NULL, + description TEXT NOT NULL, + effective_date DATE NOT NULL, + new_end_date DATE, + amount_change DECIMAL(16,2) DEFAULT 0, + new_contract_amount DECIMAL(16,2), + scope_changes TEXT, + status VARCHAR(20) NOT NULL DEFAULT 'draft', + approved_at TIMESTAMPTZ, + approved_by UUID REFERENCES auth.users(id), + rejection_reason TEXT, + document_url VARCHAR(500), + notes TEXT, + created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), + created_by UUID REFERENCES auth.users(id), + updated_at TIMESTAMPTZ, + updated_by UUID REFERENCES auth.users(id), + CONSTRAINT uq_contrato_addendas_number_tenant UNIQUE (tenant_id, addendum_number) +); + -- ============================================================================ -- INDICES -- ============================================================================