Files
descomplicar-meta-plugin/commands/db-backup.md
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

8.3 KiB

name, description, argument-hint
name description argument-hint
db-backup Backup selectivo das tabelas cr_* da infraestrutura. Exporta estrutura e dados para restauro. [--tables=X,Y] [--data-only] [--schema-only] [--output=path]

/descomplicar:db-backup

Backup selectivo das tabelas cr_* (Claude Resources) da infraestrutura.

Objectivo

Criar backup das tabelas cr_* para permitir restauro em caso de problemas ou migração.

Sintaxe

/descomplicar:db-backup [options]
Opção Descrição Default
--tables=X,Y Backup apenas tabelas específicas todas cr_*
--data-only Apenas dados (sem schema) false
--schema-only Apenas schema (sem dados) false
--output=path Directório de output ./backups/
--compress Comprimir backup (gzip) false
--include-archive Incluir tabelas *_archive false

Output Esperado

╔════════════════════════════════════════════════════════════╗
║  DB BACKUP                                                 ║
╠════════════════════════════════════════════════════════════╣
║  Backup ID: cr_backup_20260204_163500                      ║
║  Output: ./backups/cr_backup_20260204_163500/              ║
╠════════════════════════════════════════════════════════════╣
║  Exporting: 25 tabelas | 1.847 registos | 1.2 MB           ║
║  Checksum: abc123def456...                                 ║
║  Status: ✓ SUCCESS                                         ║
╚════════════════════════════════════════════════════════════╝

Tabelas Incluídas por Defeito

Core (sempre incluídas)

  • cr_agents, cr_skills, cr_mcps, cr_lsps, cr_sdks
  • cr_mcp_tools, cr_plugins, cr_hooks

Relacionamentos (sempre incluídas)

  • cr_agent_mcps, cr_agent_lsps, cr_agent_skills
  • cr_skill_mcps, cr_sdk_agents, cr_sdk_skills, cr_sdk_mcps
  • cr_agent_collaborations

Telemetria (sempre incluídas)

  • cr_agent_usage, cr_skill_usage
  • cr_mcp_tool_usage, cr_lsp_usage

Intelligence (sempre incluídas)

  • cr_decision_trees, cr_recommendations
  • cr_component_issues, cr_reflections

System (sempre incluídas)

  • cr_migrations, cr_maintenance_log

Archive (apenas com --include-archive)

  • cr_agent_usage_archive, cr_skill_usage_archive
  • cr_mcp_tool_usage_archive, cr_lsp_usage_archive

Estrutura de Backup

backups/
└── cr_backup_YYYYMMDD_HHMMSS/
    ├── manifest.json           # Metadata do backup
    ├── schema/
    │   ├── cr_agents.sql
    │   ├── cr_skills.sql
    │   └── ...
    ├── data/
    │   ├── cr_agents.sql
    │   ├── cr_skills.sql
    │   └── ...
    └── checksums.md5           # Verificação integridade

manifest.json

{
  "backup_id": "cr_backup_20260204_163500",
  "created_at": "2026-02-04T16:35:00Z",
  "created_by": "descomplicar-meta-plugin",
  "version": "1.5.0",
  "database": "perfex_crm",
  "tables": {
    "total": 25,
    "core": 8,
    "relationships": 8,
    "telemetry": 4,
    "intelligence": 4,
    "system": 2
  },
  "rows": {
    "cr_agents": 46,
    "cr_skills": 54,
    "cr_mcps": 33,
    "...": "..."
  },
  "size_bytes": 1234567,
  "checksum": "abc123...",
  "options": {
    "data_only": false,
    "schema_only": false,
    "compressed": false,
    "include_archive": false
  }
}

Exemplos

Backup completo

/descomplicar:db-backup

Output:

╔════════════════════════════════════════════════════════════════╗
║  DB BACKUP                                                     ║
╠════════════════════════════════════════════════════════════════╣
║  Backup ID: cr_backup_20260204_163500                          ║
║  Output: ./backups/cr_backup_20260204_163500/                  ║
╠════════════════════════════════════════════════════════════════╣
║  Exporting schema...                                           ║
║    cr_agents           ✓                                       ║
║    cr_skills           ✓                                       ║
║    cr_mcps             ✓                                       ║
║    ... (25 tabelas)    ✓                                       ║
║                                                                ║
║  Exporting data...                                             ║
║    cr_agents           46 rows    ✓                            ║
║    cr_skills           54 rows    ✓                            ║
║    cr_mcps             33 rows    ✓                            ║
║    cr_agent_mcps      483 rows    ✓                            ║
║    ... (25 tabelas)              ✓                             ║
╠════════════════════════════════════════════════════════════════╣
║  Total: 25 tabelas | 1.847 registos | 1.2 MB                   ║
║  Checksum: abc123def456...                                     ║
║  Status: ✓ SUCCESS                                             ║
╚════════════════════════════════════════════════════════════════╝

Backup comprimido

/descomplicar:db-backup --compress

Output:

╔════════════════════════════════════════════════════════════════╗
║  DB BACKUP (Compressed)                                        ║
╠════════════════════════════════════════════════════════════════╣
║  Output: ./backups/cr_backup_20260204_163500.tar.gz            ║
║  Original size: 1.2 MB                                         ║
║  Compressed size: 245 KB (80% reduction)                       ║
║  Status: ✓ SUCCESS                                             ║
╚════════════════════════════════════════════════════════════════╝

Apenas tabelas core

/descomplicar:db-backup --tables=cr_agents,cr_skills,cr_mcps

Schema only (para migrations)

/descomplicar:db-backup --schema-only --output=./migrations/reference/

Incluir archives

/descomplicar:db-backup --include-archive --compress

Restore

Para restaurar um backup:

# Ver backups disponíveis
ls -la ./backups/

# Restaurar (via desk-crm-v3 MCP ou mysql client)
mysql perfex_crm < ./backups/cr_backup_XXXXX/data/cr_agents.sql

Nota: Restore completo requer script separado ou uso manual do mysql client.

Retenção Sugerida

Tipo Retenção Automação
Diário 7 dias Hook SessionStart
Semanal 4 semanas Cron domingo
Mensal 12 meses Cron dia 1

Integração

  • Skill: db-maintenance-manager
  • MCP: desk-crm-v3
  • Relacionado:
    • /descomplicar:db-migrate (backup antes de migrations)
    • /descomplicar:db-cleanup (backup antes de limpeza)

Segurança

  • Backups não incluem credenciais
  • Checksums MD5 para verificação
  • Ficheiros com permissões 600
  • Não incluir em repositórios git (.gitignore)