- Introduz schema_migrations para controle de migrations já aplicadas: apenas arquivos novos rodam a cada deploy, eliminando re-execuções - Renumera migrations de 001 a 026 sem lacunas (gaps em 013 e 024 fechados) - Adiciona 008_mensagens.sql: CREATE TABLE que estava ausente do repositório - Corrige idempotência de 015_configurable_triage_flow: adiciona UNIQUE (flow_id, label) e (audience_id, label) e targets explícitos no ON CONFLICT que antes duplicava dados a cada deploy - Separa dados de demonstração em database/seeds/ (só roda em dev/uat) - Remove seeds e migrations sem propósito: seeds/002 e 027 tornados obsoletos com a remoção dos opening templates - Atualiza deploy-dev.yml: loop com checagem de tracking + passo de seeds
39 lines
1.4 KiB
SQL
39 lines
1.4 KiB
SQL
-- Migration 000: Controle de migrations aplicadas
|
|
-- Este arquivo roda sempre (antes do loop principal) e e idempotente.
|
|
-- Cria a tabela de rastreamento e marca todas as migrations existentes
|
|
-- como ja aplicadas para que nao re-executem em ambientes ja provisionados.
|
|
|
|
CREATE TABLE IF NOT EXISTS schema_migrations (
|
|
filename VARCHAR(255) PRIMARY KEY,
|
|
applied_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
INSERT INTO schema_migrations (filename) VALUES
|
|
('001_auth.sql'),
|
|
('002_area.sql'),
|
|
('003_whatsapp.sql'),
|
|
('004_whatsapp_templates.sql'),
|
|
('005_whatsapp_assignment_queue.sql'),
|
|
('006_whatsapp_triage_state.sql'),
|
|
('007_agent_notes.sql'),
|
|
('008_mensagens.sql'),
|
|
('009_customer_contacts.sql'),
|
|
('010_agenda_contatos.sql'),
|
|
('011_whatsapp_awaiting_customer_reply.sql'),
|
|
('012_whatsapp_template_workflow.sql'),
|
|
('013_agent_presence_pause.sql'),
|
|
('014_hr_decision_tree_keywords.sql'),
|
|
('015_configurable_triage_flow.sql'),
|
|
('016_triage_resolution_step.sql'),
|
|
('017_bot_flow_builder.sql'),
|
|
('018_bot_flow_close_node.sql'),
|
|
('019_admin_audit_ai_contents.sql'),
|
|
('020_whatsapp_template_category.sql'),
|
|
('021_agenda_contact_channels.sql'),
|
|
('022_whatsapp_config.sql'),
|
|
('023_whatsapp_templates_hsm.sql'),
|
|
('024_mensagens_media_columns.sql'),
|
|
('025_mensagens_media_filename.sql'),
|
|
('026_remove_fake_templates.sql')
|
|
ON CONFLICT DO NOTHING;
|