# 🔌 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:** ```bash # 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 ```sql SELECT * FROM users; ``` - `id`, `email`, `password` (hash), `plan`, `rubro`, `created_at` ### 🌐 **sites** - Todos los sitios ```sql SELECT * FROM sites; ``` - `id`, `user_id`, `slug`, `theme`, `status`, `content_json`, `created_at` ### 📋 **menus** - Menús dinámicos ```sql SELECT * FROM menus; ``` - `id`, `user_id`, `site_id`, `location`, `title`, `url`, `order_index`, `parent_id` ### 🧩 **widgets** - Widgets dinámicos ```sql SELECT * FROM widgets; ``` - `id`, `user_id`, `site_id`, `area`, `type`, `title`, `content`, `order_index` ### 📝 **content** - Contenido por sección ```sql SELECT * FROM content; ``` ### ⚙️ **settings** - Configuraciones ```sql SELECT * FROM settings; ``` ### 📤 **requests** - Solicitudes de publicación ```sql SELECT * FROM requests; ``` ### 📁 **media** - Archivos subidos ```sql SELECT * FROM media; ``` --- ## 🐍 OPCIÓN 2: Script Python (Terminal) ### Ver Usuarios y Sitios: ```bash cd C:\word\demo python ver_usuarios.py ``` ### Limpiar Base de Datos: ```bash cd C:\word\demo python limpiar_db.py ``` --- ## 🔍 Consultas Útiles ### Ver todos los clientes con sus sitios: ```sql 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: ```sql SELECT * FROM sites WHERE user_id = 1; ``` ### Ver menús de un sitio: ```sql SELECT * FROM menus WHERE site_id = 1 ORDER BY location, order_index; ``` ### Ver widgets de un sitio: ```sql 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): ```bash # 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: ```bash 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.**