-- Alcance por sucursal para numeraciones, resoluciones y facturas

ALTER TABLE numeraciones_documentos
    ADD COLUMN IF NOT EXISTS sucursal_id BIGINT UNSIGNED NULL AFTER empresa_id;

ALTER TABLE numeraciones_documentos
    ADD INDEX idx_numdoc_empresa (empresa_id);

ALTER TABLE numeraciones_documentos
    DROP INDEX uk_num_doc;

ALTER TABLE numeraciones_documentos
    ADD UNIQUE KEY uk_num_doc (empresa_id, tipo_documento, prefijo, sucursal_id);

ALTER TABLE numeraciones_documentos
    ADD INDEX idx_num_doc_sucursal (sucursal_id);

ALTER TABLE numeraciones_documentos
    ADD CONSTRAINT fk_numdoc_sucursal FOREIGN KEY (sucursal_id) REFERENCES sucursales(id);

ALTER TABLE resoluciones_dian
    ADD COLUMN IF NOT EXISTS sucursal_id BIGINT UNSIGNED NULL AFTER empresa_id;

ALTER TABLE resoluciones_dian
    ADD INDEX idx_resoluciones_sucursal (sucursal_id);

ALTER TABLE resoluciones_dian
    ADD CONSTRAINT fk_resoluciones_sucursal FOREIGN KEY (sucursal_id) REFERENCES sucursales(id);

ALTER TABLE facturas
    ADD COLUMN IF NOT EXISTS sucursal_id BIGINT UNSIGNED NULL AFTER empresa_id;

ALTER TABLE facturas
    ADD INDEX idx_facturas_sucursal (sucursal_id);

ALTER TABLE facturas
    ADD CONSTRAINT fk_facturas_sucursal FOREIGN KEY (sucursal_id) REFERENCES sucursales(id);
