Tenant — Commandes de Gestion¶
Des commandes Django manage.py sont fournies pour administrer les
schémas tenant depuis la ligne de commande.
Module : src.module.tenant.management.commands
create_tenant_schema¶
Crée le schéma pour un tenant existant.
python manage.py create_tenant_schema acme-corp
Exécute create_tenant_storage() du backend d’isolation configuré,
puis lance les migrations.
migrate_tenant_schemas¶
Migre un ou tous les schémas tenant.
# Migrer tous les tenants
python manage.py migrate_tenant_schemas
# Migrer un tenant spécifique
python manage.py migrate_tenant_schemas --tenant acme-corp
Affiche un résumé des succès et échecs.
list_tenant_schemas¶
Affiche la liste de tous les tenants et l’état de leur stockage.
python manage.py list_tenant_schemas
Sortie :
Tenant: acme-corp | Schema: tenant_acme_corp | Status: active | Exists: True
Tenant: beta-inc | Schema: tenant_beta_inc | Status: active | Exists: True
Tenant: old-corp | Schema: tenant_old_corp | Status: archived | Exists: True
check_tenant_schemas¶
Détecte les incohérences de migration entre les schémas.
python manage.py check_tenant_schemas
Sortie :
Schema tenant_acme_corp: OK
Schema tenant_beta_inc: DRIFT - Missing migrations: ['0003_add_notes']
clone_tenant_schema¶
Clone les tables et données d’un tenant vers un nouveau schéma.
python manage.py clone_tenant_schema acme-corp staging-acme
Utile pour créer des environnements de test ou des sandbox.
backup_tenant_schema¶
Sauvegarde un schéma tenant avec pg_dump.
python manage.py backup_tenant_schema acme-corp --output-dir /backups/
Produit : /backups/tenant_acme_corp_20260323.sql
restore_tenant_schema¶
Restaure un schéma depuis un dump.
python manage.py restore_tenant_schema acme-corp /backups/tenant_acme_corp_20260323.sql
drop_tenant_schema¶
Supprime un schéma tenant. Requiert confirmation.
# Avec backup automatique avant suppression
python manage.py drop_tenant_schema acme-corp --confirm --backup
# Sans backup
python manage.py drop_tenant_schema acme-corp --confirm
Warning
DESTRUCTIF. Sans --backup, toutes les données sont perdues irrémédiablement.
create_tenant_superuser¶
Crée un superuser dans le contexte d’un tenant.
python manage.py create_tenant_superuser --tenant acme-corp
tenant_command¶
Exécute n’importe quelle commande Django dans le contexte d’un tenant.
# Exécuter des migrations custom dans un tenant spécifique
python manage.py tenant_command loaddata fixtures.json --tenant acme-corp
# Shell dans le contexte d'un tenant
python manage.py tenant_command shell --tenant acme-corp