ALTER TABLE empresas ADD COLUMN codigo TEXT;
ALTER TABLE empresas ADD COLUMN grupo_empresarial TEXT;
ALTER TABLE empresas ADD COLUMN tipo_empresa TEXT NOT NULL DEFAULT 'matriz';
ALTER TABLE empresas ADD COLUMN matriz_id INTEGER REFERENCES empresas(id);
ALTER TABLE empresas ADD COLUMN cnpj TEXT;
ALTER TABLE empresas ADD COLUMN inscricao_estadual TEXT;
ALTER TABLE empresas ADD COLUMN inscricao_municipal TEXT;
ALTER TABLE empresas ADD COLUMN regime_tributario TEXT NOT NULL DEFAULT 'simples_nacional';
ALTER TABLE empresas ADD COLUMN cnae_principal TEXT;
ALTER TABLE empresas ADD COLUMN suframa TEXT;
ALTER TABLE empresas ADD COLUMN cep TEXT;
ALTER TABLE empresas ADD COLUMN logradouro TEXT;
ALTER TABLE empresas ADD COLUMN numero TEXT;
ALTER TABLE empresas ADD COLUMN complemento TEXT;
ALTER TABLE empresas ADD COLUMN bairro TEXT;
ALTER TABLE empresas ADD COLUMN municipio TEXT;
ALTER TABLE empresas ADD COLUMN codigo_ibge TEXT;
ALTER TABLE empresas ADD COLUMN uf TEXT;
ALTER TABLE empresas ADD COLUMN telefone TEXT;
ALTER TABLE empresas ADD COLUMN email TEXT;
ALTER TABLE empresas ADD COLUMN site TEXT;
ALTER TABLE empresas ADD COLUMN responsavel TEXT;
ALTER TABLE empresas ADD COLUMN ambiente_fiscal TEXT NOT NULL DEFAULT 'homologacao';
ALTER TABLE empresas ADD COLUMN timezone TEXT NOT NULL DEFAULT 'America/Manaus';
ALTER TABLE empresas ADD COLUMN excluido_em TEXT;
UPDATE empresas SET codigo = CAST(id AS TEXT), grupo_empresarial = COALESCE(NULLIF(nome_fantasia, ''), razao_social) WHERE codigo IS NULL;
CREATE UNIQUE INDEX IF NOT EXISTS idx_empresas_codigo ON empresas (codigo);
CREATE UNIQUE INDEX IF NOT EXISTS idx_empresas_cnpj ON empresas (cnpj) WHERE cnpj IS NOT NULL AND cnpj <> '';
CREATE INDEX IF NOT EXISTS idx_empresas_matriz ON empresas (matriz_id);
