183 lines
4.1 KiB
Markdown
183 lines
4.1 KiB
Markdown
# 🔌 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.**
|