-- Adicionar coluna id_cliente na tabela clientes (numérico) ALTER TABLE clientes ADD COLUMN IF NOT EXISTS id_cliente VARCHAR(10); -- Criar índice para melhor performance CREATE INDEX IF NOT EXISTS idx_clientes_id_cliente ON clientes(id_cliente); -- Gerar IDs numéricos sequenciais para clientes existentes (se houver) WITH numbered_clients AS ( SELECT id, ROW_NUMBER() OVER (ORDER BY created_at) as row_num FROM clientes WHERE id_cliente IS NULL ) UPDATE clientes SET id_cliente = numbered_clients.row_num::TEXT FROM numbered_clients WHERE clientes.id = numbered_clients.id; -- Tornar a coluna NOT NULL após popular os dados existentes ALTER TABLE clientes ALTER COLUMN id_cliente SET NOT NULL; -- Adicionar constraint de unicidade ALTER TABLE clientes ADD CONSTRAINT unique_id_cliente UNIQUE (id_cliente);