Ofertas de Black Fridayhasta 60% de descuento
  • 60% de descuento el primer año en planes anuales
  • 45% de descuento en licencias de por vida
Termina en
Aprovecha la oferta

Datos Históricos en MongoDB

Por defecto, cada tabla vive en la conexión principal de tu aplicación (PostgreSQL o MySQL) — nada sobre esta función cambia eso a menos que optes por ello. Las tiendas autoalojadas con mucha historia de solo anexar (entradas de registro de actividad, transcripciones de chat, historial de correos electrónicos de CRM) pueden mover solo esas tablas a una conexión separada, incluyendo MongoDB, sin tocar nada más.

Qué se Mueve

  • Registro de actividad — la tabla activity_log (cada entrada de auditoría de creación/actualización/eliminación/inicio de sesión)
  • Mensajes de chat — la tabla msg_messages del módulo de Mensajería
  • Historial de correos electrónicos de CRM — las tablas crm_email_messages y crm_email_events

Todo lo demás — pedidos, productos, clientes, contabilidad — siempre permanece en tu conexión principal. Este es un movimiento dirigido solo a tablas de historia de alto volumen y rara vez unidas.

Opción A: Otra Conexión SQL

Apunta la historia a cualquier conexión ya definida en config/database.php (por ejemplo, una segunda base de datos Postgres dedicada a registros):

HISTORICAL_DB_CONNECTION=pgsql_history

Esto funciona inmediatamente sin paquetes adicionales — es Eloquent puro en una conexión SQL pura.

Opción B: MongoDB

Un template de conexión mongodb se incluye en config/database.php ya, pero está inactivo hasta que optes por ello:

HISTORICAL_DB_CONNECTION=mongodb
MONGODB_URI=mongodb://user:password@host:27017
MONGODB_DATABASE=storeconsole_history

El soporte para MongoDB requiere dos cosas que esta plataforma no instala por defecto:

  • La extensión PHP mongodb en tu servidor
  • composer require mongodb/laravel-mongodb (listada bajo suggest en la raíz composer.json)

Sin la extensión y el paquete instalados, establecer HISTORICAL_DB_CONNECTION=mongodb se ignora de forma segura — cada modelo vuelve a la conexión por defecto y la aplicación se inicia y ejecuta exactamente como antes.

Soporte Completo para Modelos de MongoDB

Una vez que mongodb/laravel-mongodb está instalado, el cambio de conexión por sí solo te da acceso al nivel del constructor de consultas a la colección de Mongo. Para soporte completo de Eloquent (casts BSON, claves primarias ObjectId, documentos embebidos) también agrega el rasgo MongoDB\Laravel\Eloquent\DocumentModel del paquete al modelo, junto con el rasgo de cambio de conexión que esta plataforma ya incluye en los modelos de historia:

use StoreConsole\PlatformKit\Traits\UsesHistoricalConnection;
use MongoDB\Laravel\Eloquent\DocumentModel;

class Activity extends SpatieActivity
{
    use UsesHistoricalConnection;
    use DocumentModel;
}

Debido a que Store Console se envía como código fuente completo por licencia, esta adición de una línea es una personalización normal de tu propia copia — no un parche del proveedor.

Cómo Revertir

Desactiva HISTORICAL_DB_CONNECTION (o configúralo de nuevo como vacío) y cada modelo regresa a la conexión por defecto en la siguiente solicitud — no se requiere migración para desactivar la función.

Última actualización: 11/7/2026