Projet

Général

Profil

Development #29522

accélération migrate_schemas

Ajouté par Frédéric Péters il y a 14 jours. Mis à jour il y a 14 jours.

Statut:
Solution proposée
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
07 jan. 2019
Echéance:
% réalisé:

0%

Patch proposed:
Oui

Description

Indépendamment d'une parallélisation (#23045), il pourrait peut-être y avoir optimisation,

  • faire les migrations du schéma "public"
  • pour chaque tenant, si le contenu de la table django_migrations correspond au contenu du schéma "public", zapper le tenant
    • éventuellement, si ça ne correspond pas, lancer les migrations en précisant uniquement les applications où une différence a été notée. (je n'ai pas mesuré, je garderais ça pour plus tard)

0001-multitenant-skip-tenants-where-all-migrations-are-ap.patch Voir (2,56 ko) Frédéric Péters, 07 jan. 2019 14:12

0001-multitenant-skip-tenants-where-all-migrations-are-ap.patch Voir (3,01 ko) Frédéric Péters, 07 jan. 2019 14:41

Historique

#1 Mis à jour par Frédéric Péters il y a 14 jours

#2 Mis à jour par Frédéric Péters il y a 14 jours

  • Patch proposed changé de Oui à Non
  • Statut changé de Solution proposée à En cours

Oui mais non, ça choppe des migrations qui n'existent plus (artefact du foutoir dans ma db locale, sûr, mais je vais quand même voir pour considérer uniquement les migrations réelles).

#3 Mis à jour par Thomas Noël il y a 14 jours

A noter qu'en théorie, le schéma "public" ne contient pas forcément les mêmes apps que ceux des tenants (INSTALLED_APPS/SHARED_APPS/TENANTS_APP).

Il faudrait plutôt considérer "les migrations du premier tenant qui a été migré".

#4 Mis à jour par Frédéric Péters il y a 14 jours

A noter qu'en théorie, le schéma "public" ne contient pas forcément les mêmes apps que ceux des tenants (INSTALLED_APPS/SHARED_APPS/TENANTS_APP).

La table django_migrations du schéma public liste également les migrations concernant les TENANT_APPS.

Du coup on peut se baser dessus.

(mais aussi, considérons uniquement la pratique (?)).

Formats disponibles : Atom PDF