CREATE SCHEMA proyecto_a;
CREATE SCHEMA proyecto_b;
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"
python manage.py migrate
Django creará automáticamente:
proyecto_a.django_migrations
proyecto_a.auth_user
proyecto_a.miapp_modelo
Cada proyecto tendrá sus propias:
NO compartas estas tablas entre proyectos. Eso es pedir corrupción de datos.
To display schemas:
\dn - list of schemas
To change schema, you can try:
SET search_path TO