Files
descomplicar-meta-plugin/migrations/001_initial_schema.sql
Emanuel Almeida 692475a315 feat(v1.5.2): Execute database migrations and complete setup
- Execute all 6 migrations on Desk CRM production database
- Create missing tables: cr_lsps, cr_agent_lsps, cr_lsp_usage
- Create archive tables: cr_*_usage_archive (4 tables)
- Create system tables: cr_migrations, cr_maintenance_log
- Make all scripts executable (chmod +x)
- Total cr_* tables: 38

Migration files:
- 001_initial_schema.sql
- 002_add_lsps.sql
- 003_add_relationships.sql
- 004_add_telemetry.sql
- 005_add_archive_tables.sql
- 006_add_maintenance_log.sql

Scripts:
- session-init.sh, session-end.sh
- inject-context.sh, inject-agent-context.sh
- record-usage.sh, db-backup.sh, sync-to-mysql.sh

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 16:18:02 +00:00

110 lines
3.5 KiB
SQL

-- Migration: 001_initial_schema
-- Author: Descomplicar®
-- Date: 2026-02-01
-- Description: Tabelas core da infraestrutura Claude Code
-- UP
-- Agentes especializados
CREATE TABLE IF NOT EXISTS cr_agents (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL UNIQUE,
description TEXT,
model VARCHAR(50) DEFAULT 'sonnet',
category VARCHAR(50),
status ENUM('active', 'inactive', 'deprecated') DEFAULT 'active',
desk_task INT,
file_path VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
-- Skills invocáveis
CREATE TABLE IF NOT EXISTS cr_skills (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL UNIQUE,
description TEXT,
category VARCHAR(50),
status ENUM('active', 'inactive', 'deprecated') DEFAULT 'active',
desk_task INT,
file_path VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
-- Servidores MCP
CREATE TABLE IF NOT EXISTS cr_mcps (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL UNIQUE,
description TEXT,
transport ENUM('stdio', 'sse', 'http') DEFAULT 'stdio',
status ENUM('active', 'inactive', 'error') DEFAULT 'active',
gateway_url VARCHAR(255),
tools_count INT DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
-- Software Development Kits
CREATE TABLE IF NOT EXISTS cr_sdks (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL UNIQUE,
description TEXT,
category VARCHAR(50),
status ENUM('active', 'inactive', 'deprecated') DEFAULT 'active',
version VARCHAR(20),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
-- Ferramentas por MCP
CREATE TABLE IF NOT EXISTS cr_mcp_tools (
id INT AUTO_INCREMENT PRIMARY KEY,
mcp_id INT NOT NULL,
name VARCHAR(100) NOT NULL,
description TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (mcp_id) REFERENCES cr_mcps(id) ON DELETE CASCADE,
UNIQUE KEY unique_mcp_tool (mcp_id, name)
);
-- Plugins instalados
CREATE TABLE IF NOT EXISTS cr_plugins (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL UNIQUE,
version VARCHAR(20),
marketplace VARCHAR(100),
status ENUM('active', 'disabled', 'pending') DEFAULT 'active',
installed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
-- Hooks configurados
CREATE TABLE IF NOT EXISTS cr_hooks (
id INT AUTO_INCREMENT PRIMARY KEY,
event VARCHAR(50) NOT NULL,
plugin_name VARCHAR(100),
command TEXT NOT NULL,
description TEXT,
timeout INT DEFAULT 5000,
status ENUM('active', 'disabled') DEFAULT 'active',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Índices
CREATE INDEX idx_agents_status ON cr_agents(status);
CREATE INDEX idx_agents_category ON cr_agents(category);
CREATE INDEX idx_skills_status ON cr_skills(status);
CREATE INDEX idx_skills_category ON cr_skills(category);
CREATE INDEX idx_mcps_status ON cr_mcps(status);
CREATE INDEX idx_sdks_status ON cr_sdks(status);
-- DOWN
DROP TABLE IF EXISTS cr_hooks;
DROP TABLE IF EXISTS cr_plugins;
DROP TABLE IF EXISTS cr_mcp_tools;
DROP TABLE IF EXISTS cr_sdks;
DROP TABLE IF EXISTS cr_mcps;
DROP TABLE IF EXISTS cr_skills;
DROP TABLE IF EXISTS cr_agents;