Miguel Amaya Camacho
Ingeniero Informático. Socio fundador de Tallanix S.A.C y de Xprende Tech. Activista del Software Libre y miembro fundador de la Comunidad Piurana de Software Libre VICUX y de la Comunidad de Programadores Python Piura.
Ing. José Miguel Amaya Camacho
miguel.amaya99@gmail.com
Datos completamente compartidos.
Una sola instalación de nuestro código y una sola base de datos.
Todos los usuarios y clientes acceden al servicio a través de una única URL.
Difícil gestión de los datos.
Generación de consultas mas complicada y lenta por los filtros.
Facilmente escalable.
Reducción de costos en almacenamiento y procesamiento.
Seguro (cada cliente tiene su información separada en el schema).
Compartir información entre clientes (hay tablas que se pueden acceder por todos los clientes).
.
Mayor complejidad en la gestión de la BD.
Requiere un diseño mas riguroso y una mejor gestión de los cambios.
Django Tenant Schemas
Django Tenant
https://django-tenant-schemas.readthedocs.io/en/latest/
Instalación de Django
Creación del proyecto
Instalación del paquete
Configuración DB en settings.py
Configuración en settings.py
Agregamos tenant_schemas.routers.TenantSyncRouter a la configuración DATABASE_ROUTERS, para que las aplicaciones se puedan sincronizar, dependiendo de si es shared o tenant.
Las tablas en la base de datos de estas apps son compartidos por todos los clientes. Solo se crean en el schema public.
Configuración en settings.py
Las tablas en la base de datos de estas apps son creadas en los schemas de cada tenant.
Configuración en settings.py
Cumple la misma función que en un proyecto django convencional, se agrega la aplicación 'tenant_schemas'
Configuración en settings.py
Puede contener los campos que desee, debe heredar de TenantMixin. Este Mixin solo tiene dos campos (domain_url y schema_name) y ambos son obligatorios.
Configuración en settings.py
Creación en la App shared
Creamos un superusuario
App shared
App store
Creamos superusuario segundo tenant
https://github.com/joseamaya/multitenant
Plataforma Sass de e-Learning, multicliente con gamificación.
Preguntas
By Miguel Amaya Camacho
Charla para el DevFest 2019
Ingeniero Informático. Socio fundador de Tallanix S.A.C y de Xprende Tech. Activista del Software Libre y miembro fundador de la Comunidad Piurana de Software Libre VICUX y de la Comunidad de Programadores Python Piura.