|
|
@@ -1,63 +0,0 @@
|
|
|
-## Implementación SIMPLE (sin librerías externas)
|
|
|
-
|
|
|
-### Crear schemas
|
|
|
- CREATE SCHEMA proyecto_a;
|
|
|
- CREATE SCHEMA proyecto_b;
|
|
|
-
|
|
|
-### Configurar search_path por proyecto
|
|
|
-
|
|
|
-En cada proyecto Django, su ```settings.py```:
|
|
|
-
|
|
|
- DATABASES = {
|
|
|
- "default": {
|
|
|
- "ENGINE": "django.db.backends.postgresql",
|
|
|
- "NAME": "miservicio_db",
|
|
|
- "USER": "dbuser",
|
|
|
- "PASSWORD": "secret",
|
|
|
- "HOST": "localhost",
|
|
|
- "PORT": 5432,
|
|
|
- "OPTIONS": {
|
|
|
- "options": "-c search_path=proyecto_a,public"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-En el otro proyecto:
|
|
|
- "options": "-c search_path=proyecto_b,public"
|
|
|
-
|
|
|
-### Migrar normalmente
|
|
|
- python manage.py migrate
|
|
|
-
|
|
|
-Django creará automáticamente:
|
|
|
-
|
|
|
- proyecto_a.django_migrations
|
|
|
- proyecto_a.auth_user
|
|
|
- proyecto_a.miapp_modelo
|
|
|
-
|
|
|
-- Sin prefijos
|
|
|
-- Sin routers
|
|
|
-- Sin hacks
|
|
|
-- 100 % soportado
|
|
|
-
|
|
|
-### Este detalle es CLAVE
|
|
|
-
|
|
|
-Cada proyecto tendrá sus propias:
|
|
|
-
|
|
|
-- django_migrations
|
|
|
-- auth_*
|
|
|
-- contenttypes
|
|
|
-- sessions
|
|
|
-- admin
|
|
|
-
|
|
|
-NO compartas estas tablas entre proyectos.
|
|
|
-Eso es pedir corrupción de datos.
|
|
|
-
|
|
|
-## Comandos para gestionar schemas
|
|
|
-
|
|
|
-To display schemas:
|
|
|
-
|
|
|
- \dn - list of schemas
|
|
|
-
|
|
|
-To change schema, you can try:
|
|
|
-
|
|
|
- SET search_path TO
|