Files
aggios.app/postgres/migrations/013_create_solutions_table.sql
2025-12-17 13:36:23 -03:00

31 lines
1.2 KiB
SQL

-- Tabela de soluções disponíveis (CRM, ERP, etc.)
CREATE TABLE IF NOT EXISTS solutions (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name VARCHAR(100) NOT NULL UNIQUE,
slug VARCHAR(50) NOT NULL UNIQUE,
icon VARCHAR(50),
description TEXT,
is_active BOOLEAN DEFAULT true,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Relacionamento N:N entre planos e soluções
CREATE TABLE IF NOT EXISTS plan_solutions (
plan_id UUID REFERENCES plans(id) ON DELETE CASCADE,
solution_id UUID REFERENCES solutions(id) ON DELETE CASCADE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (plan_id, solution_id)
);
-- Índices
CREATE INDEX idx_solutions_slug ON solutions(slug);
CREATE INDEX idx_solutions_is_active ON solutions(is_active);
CREATE INDEX idx_plan_solutions_plan_id ON plan_solutions(plan_id);
CREATE INDEX idx_plan_solutions_solution_id ON plan_solutions(solution_id);
-- Seed inicial: CRM
INSERT INTO solutions (id, name, slug, icon, description, is_active) VALUES
('00000000-0000-0000-0000-000000000001', 'CRM', 'crm', 'users', 'Gestão de clientes e relacionamento', true)
ON CONFLICT (slug) DO NOTHING;