Files
gkachele-saas/memoria/COMO_CONECTAR_DB.md
2026-01-17 11:40:17 +01:00

4.1 KiB

🔌 CÓMO CONECTARSE A LA BASE DE DATOS DE CLIENTES

GKACHELE™ - Guía de Conexión a Base de Datos
© 2025 GKACHELE™. Todos los derechos reservados.

📍 Ubicación de la Base de Datos

La base de datos main.db contiene TODOS los clientes (sistema multi-tenant).

Ubicaciones:

  1. Local (Desarrollo):

    C:\word\demo\database\main.db
    
  2. Raspberry Pi (Producción):

    /home/pi/gkachele-saas/database/main.db
    

🖥️ OPCIÓN 1: DB Browser for SQLite (GUI - Recomendado)

Ya tienes DB Browser for SQLite abierto. Sigue estos pasos:

Para Base de Datos Local:

  1. En DB Browser, haz clic en "Abrir base de datos" (botón en la barra superior)
  2. Navega a: C:\word\demo\database\
  3. Selecciona main.db
  4. ¡Listo! Verás todas las tablas

Para Base de Datos de Raspberry (Copiar primero):

  1. Copiar DB desde Raspberry:

    # Desde PowerShell o WSL:
    wsl bash -c "sshpass -p 'Gdk1983gdk45@' scp -P 2222 -o StrictHostKeyChecking=no pi@192.168.1.134:/home/pi/gkachele-saas/database/main.db /mnt/c/word/demo/database/main_raspberry.db"
    
  2. Abrir en DB Browser:

    • Abre C:\word\demo\database\main_raspberry.db

📊 Tablas Disponibles

Una vez conectado, verás estas tablas:

👥 users - Todos los clientes

SELECT * FROM users;
  • id, email, password (hash), plan, rubro, created_at

🌐 sites - Todos los sitios

SELECT * FROM sites;
  • id, user_id, slug, theme, status, content_json, created_at

📋 menus - Menús dinámicos

SELECT * FROM menus;
  • id, user_id, site_id, location, title, url, order_index, parent_id

🧩 widgets - Widgets dinámicos

SELECT * FROM widgets;
  • id, user_id, site_id, area, type, title, content, order_index

📝 content - Contenido por sección

SELECT * FROM content;

⚙️ settings - Configuraciones

SELECT * FROM settings;

📤 requests - Solicitudes de publicación

SELECT * FROM requests;

📁 media - Archivos subidos

SELECT * FROM media;

🐍 OPCIÓN 2: Script Python (Terminal)

Ver Usuarios y Sitios:

cd C:\word\demo
python ver_usuarios.py

Limpiar Base de Datos:

cd C:\word\demo
python limpiar_db.py

🔍 Consultas Útiles

Ver todos los clientes con sus sitios:

SELECT 
    u.id AS user_id,
    u.email,
    u.plan,
    u.rubro,
    COUNT(s.id) AS num_sitios
FROM users u
LEFT JOIN sites s ON u.id = s.user_id
GROUP BY u.id
ORDER BY u.id;

Ver sitios de un cliente específico:

SELECT * FROM sites WHERE user_id = 1;

Ver menús de un sitio:

SELECT * FROM menus WHERE site_id = 1 ORDER BY location, order_index;

Ver widgets de un sitio:

SELECT * FROM widgets WHERE site_id = 1 ORDER BY area, order_index;

🔄 Sincronizar DB desde Raspberry

Si quieres trabajar con la base de datos más actualizada (de producción):

# Script para copiar DB desde Raspberry
wsl bash -c "sshpass -p 'Gdk1983gdk45@' scp -P 2222 -o StrictHostKeyChecking=no pi@192.168.1.134:/home/pi/gkachele-saas/database/main.db /mnt/c/word/demo/database/main_raspberry.db && echo '✅ DB copiada desde Raspberry'"

Luego abre main_raspberry.db en DB Browser.


⚠️ IMPORTANTE

  • NO edites directamente la DB de producción sin hacer backup primero
  • Usa los scripts (ver_usuarios.py, limpiar_db.py) para operaciones comunes
  • Haz backup antes de cambios importantes (usa backup_completo.sh)

🛠️ Script Rápido: Copiar DB desde Raspberry

Ejecuta este comando para copiar la DB más reciente:

wsl bash -c "sshpass -p 'Gdk1983gdk45@' scp -P 2222 -o StrictHostKeyChecking=no pi@192.168.1.134:/home/pi/gkachele-saas/database/main.db /mnt/c/word/demo/database/main_raspberry_$(date +%Y%m%d_%H%M%S).db"

Esto creará una copia con timestamp para no sobrescribir.


© 2025 GKACHELE™. Todos los derechos reservados.