-- CreateTable chamados CREATE TABLE IF NOT EXISTS sar.chamados ( id SERIAL PRIMARY KEY, id_empresa INTEGER NOT NULL, cod_vendedor INTEGER NOT NULL, id_pedido UUID NOT NULL, num_ped_sar INTEGER NOT NULL, id_cliente INTEGER NOT NULL, tipo VARCHAR(50) NOT NULL, assunto VARCHAR(200) NOT NULL, descricao TEXT NOT NULL, status VARCHAR(30) NOT NULL DEFAULT 'aberto', resolucao VARCHAR(50), nota_resolucao TEXT, itens_afetados JSONB, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); CREATE INDEX IF NOT EXISTS idx_chamados_empresa_vendedor ON sar.chamados(id_empresa, cod_vendedor); CREATE INDEX IF NOT EXISTS idx_chamados_empresa_status ON sar.chamados(id_empresa, status); CREATE INDEX IF NOT EXISTS idx_chamados_pedido ON sar.chamados(id_pedido); -- CreateTable chamado_mensagens CREATE TABLE IF NOT EXISTS sar.chamado_mensagens ( id SERIAL PRIMARY KEY, id_chamado INTEGER NOT NULL REFERENCES sar.chamados(id) ON DELETE CASCADE, autor VARCHAR(10) NOT NULL, texto TEXT NOT NULL, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); CREATE INDEX IF NOT EXISTS idx_chamado_mensagens_chamado ON sar.chamado_mensagens(id_chamado);