- 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>
110 lines
3.5 KiB
SQL
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;
|