-- Migration 011: Crear tabla comprobantes_transacciones
-- Plan: COMPROBANTES_TRANSACCIONES
-- Fecha: 2026-02-02
-- Proposito: Almacenar referencias a imagenes de comprobantes adjuntas a transacciones

BEGIN;

CREATE TABLE comprobantes_transacciones (
    id                  SERIAL PRIMARY KEY,
    id_transaccion      INTEGER NOT NULL,
    business_id         VARCHAR(100) NOT NULL,
    nombre_archivo      VARCHAR(255) NOT NULL,
    nombre_original     VARCHAR(255),
    mime_type_original  VARCHAR(100),
    ruta_relativa       VARCHAR(500) NOT NULL,
    tamanio_bytes       INTEGER,
    subido_por          INTEGER,
    fecha_creacion      TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    soft_delete         BOOLEAN DEFAULT FALSE,
    soft_delete_date    TIMESTAMP WITH TIME ZONE,

    CONSTRAINT fk_comprobante_transaccion
        FOREIGN KEY (id_transaccion)
        REFERENCES transacciones(id_transaccion)
        ON DELETE CASCADE
);

CREATE INDEX idx_comprobantes_transaccion ON comprobantes_transacciones(id_transaccion);
CREATE INDEX idx_comprobantes_business ON comprobantes_transacciones(business_id);
CREATE INDEX idx_comprobantes_soft_delete ON comprobantes_transacciones(soft_delete);

COMMIT;
