4.1 KiB
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:
-
Local (Desarrollo):
C:\word\demo\database\main.db -
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:
- En DB Browser, haz clic en "Abrir base de datos" (botón en la barra superior)
- Navega a:
C:\word\demo\database\ - Selecciona
main.db - ¡Listo! Verás todas las tablas
Para Base de Datos de Raspberry (Copiar primero):
-
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" -
Abrir en DB Browser:
- Abre
C:\word\demo\database\main_raspberry.db
- Abre
📊 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.