Projet

Général

Profil

Development #31042

django-tenant-schemas: ne pas exécuter les migrations sur le schéma public

Ajouté par Benjamin Dauvergne il y a environ 5 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
multitenant
Version cible:
-
Début:
02 mars 2019
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Nous n'en avons pas l'usage et ça empêche de fait d'utiliser une base unique pour tous les tenants qui pour moi est quelque chose de sensé (sur un hébergement mono-instance ça simplifiera beaucoup les backups).


Fichiers

0003-migrate_schemas-remove-migration-of-public-schema-fi.patch (1,41 ko) 0003-migrate_schemas-remove-migration-of-public-schema-fi.patch Benjamin Dauvergne, 02 mars 2019 12:29
0002-migrate_schemas-add-copyright-notice-31042.patch (1,42 ko) 0002-migrate_schemas-add-copyright-notice-31042.patch Benjamin Dauvergne, 02 mars 2019 12:29
0001-migrate_schemas-PEP8ness-remove-useless-imports-3104.patch (2,03 ko) 0001-migrate_schemas-PEP8ness-remove-useless-imports-3104.patch Benjamin Dauvergne, 02 mars 2019 12:29
0003-migrate_schemas-remove-migration-of-public-schema-fi.patch (1,41 ko) 0003-migrate_schemas-remove-migration-of-public-schema-fi.patch Benjamin Dauvergne, 19 mars 2019 02:21
0002-migrate_schemas-add-copyright-notice-31042.patch (1,42 ko) 0002-migrate_schemas-add-copyright-notice-31042.patch Benjamin Dauvergne, 19 mars 2019 02:21
0001-migrate_schemas-PEP8ness-remove-useless-imports-3104.patch (2,03 ko) 0001-migrate_schemas-PEP8ness-remove-useless-imports-3104.patch Benjamin Dauvergne, 19 mars 2019 02:21
0003-migrate_schemas-remove-migration-of-public-schema-fi.patch (4,72 ko) 0003-migrate_schemas-remove-migration-of-public-schema-fi.patch Benjamin Dauvergne, 06 juin 2019 19:33
0002-migrate_schemas-add-copyright-notice-31042.patch (1,42 ko) 0002-migrate_schemas-add-copyright-notice-31042.patch Benjamin Dauvergne, 06 juin 2019 19:33
0001-migrate_schemas-PEP8ness-remove-useless-imports-3104.patch (2,03 ko) 0001-migrate_schemas-PEP8ness-remove-useless-imports-3104.patch Benjamin Dauvergne, 06 juin 2019 19:33
0003-migrate_schemas-remove-migration-of-public-schema-fi.patch (4,76 ko) 0003-migrate_schemas-remove-migration-of-public-schema-fi.patch Benjamin Dauvergne, 07 juin 2019 22:22
0002-migrate_schemas-add-copyright-notice-31042.patch (1,42 ko) 0002-migrate_schemas-add-copyright-notice-31042.patch Benjamin Dauvergne, 07 juin 2019 22:22
0001-migrate_schemas-PEP8ness-remove-useless-imports-3104.patch (2,03 ko) 0001-migrate_schemas-PEP8ness-remove-useless-imports-3104.patch Benjamin Dauvergne, 07 juin 2019 22:22
0003-migrate_schemas-remove-migration-of-public-schema-fi.patch (7,96 ko) 0003-migrate_schemas-remove-migration-of-public-schema-fi.patch Benjamin Dauvergne, 23 juin 2019 02:22
0002-migrate_schemas-add-copyright-notice-31042.patch (1,42 ko) 0002-migrate_schemas-add-copyright-notice-31042.patch Benjamin Dauvergne, 23 juin 2019 02:22
0001-migrate_schemas-PEP8ness-remove-useless-imports-3104.patch (2,03 ko) 0001-migrate_schemas-PEP8ness-remove-useless-imports-3104.patch Benjamin Dauvergne, 23 juin 2019 02:22
0002-do-not-use-public-schema-for-finding-list-of-migrati.patch (2,16 ko) 0002-do-not-use-public-schema-for-finding-list-of-migrati.patch Benjamin Dauvergne, 03 juillet 2019 09:32
0001-migrate_schemas-remove-migration-of-public-schema-fi.patch (7,96 ko) 0001-migrate_schemas-remove-migration-of-public-schema-fi.patch Benjamin Dauvergne, 03 juillet 2019 09:32
0002-do-not-use-public-schema-for-finding-list-of-migrati.patch (3,71 ko) 0002-do-not-use-public-schema-for-finding-list-of-migrati.patch Benjamin Dauvergne, 03 juillet 2019 09:45
0001-migrate_schemas-remove-migration-of-public-schema-fi.patch (7,96 ko) 0001-migrate_schemas-remove-migration-of-public-schema-fi.patch Benjamin Dauvergne, 03 juillet 2019 09:45

Demandes liées

Lié à Hobo - Bug #22883: ne jamais utiliser le schéma publicFermé29 mars 2018

Actions
Lié à Hobo - Bug #34504: revert #31042, utiliser le schéma publicFermé03 juillet 2019

Actions

Révisions associées

Révision 2a686e7d (diff)
Ajouté par Benjamin Dauvergne il y a plus de 4 ans

migrate_schemas: PEP8ness, remove useless imports (#31042)

Révision 0cf4b944 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 4 ans

migrate_schemas: add copyright notice (#31042)

Révision 81e955d8 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 4 ans

migrate_schemas: remove migration of public schema (fixes #31042)

Révision d4790d88 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 4 ans

migrate_schemas: remove migration of public schema (fixes #31042)

Révision 02b1ef8c (diff)
Ajouté par Benjamin Dauvergne il y a plus de 4 ans

do not use public schema for finding list of migrations (#31042)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

  • Assigné à mis à Benjamin Dauvergne
#4

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

  • Sujet changé de Ne pas exécuter les migrations sur le schéma public à django-tenant-schemas: ne pas exécuter les migrations sur le schéma public
  • Catégorie mis à multitenant
#6

Mis à jour par Emmanuel Cazenave il y a presque 5 ans

Je pense qu'il faut aller jusqu'au bout du ménage : dans SyncCommon les options --tenant et --shared n'ont plus de raison d'être si je ne m'abuse.

#7

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

  • Statut changé de Solution proposée à En cours

Ok.

#10

Mis à jour par Christophe Siraut il y a presque 5 ans

En soi le patch me semble bien, et c'est cohérent avec la notion de schéma définie par postgresql; mais ça me pose problème de diverger de django-tenant-schema, est-ce qu'on ne devrait pas avoir une discussion plus générale pour une vision long terme :

  • Est-ce qu'on assume de diverger de django-tenant-schema upstream et de maintenir ça ? (Et du coup on oublierait l'alternative mieux maintenue que tu pointais)
#11

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

Christophe Siraut a écrit :

En soi le patch me semble bien, et c'est cohérent avec la notion de schéma définie par postgresql; mais ça me pose problème de diverger de django-tenant-schema, est-ce qu'on ne devrait pas avoir une discussion plus générale pour une vision long terme :

  • Est-ce qu'on assume de diverger de django-tenant-schema upstream et de maintenir ça ? (Et du coup on oublierait l'alternative mieux maintenue que tu pointais)

django-tenant-schema n'est plus maintenu, forké par django-tenants1 qui, disons, le remplace, les API ne sont malheureusement pas compatibles (mais pas éloignées non plus) simplement parce que le package s'appelle django_tenants; donc pour l'instant nous sommes seuls.

1 https://github.com/tomturner/django-tenants

#12

Mis à jour par Emmanuel Cazenave il y a presque 5 ans

Je rajoute une dernière couche de demande de simplification : je pense qu'il faut jarter la variba@sync_tenant@ qui n'a plus de sens, on va toujours synchroniser un ou plusieurs tenant.

La seule option qui a du sens avec sa variable associée c'est schema_name , soit elle est définie et on migre un seul tenant, soit elle est pas là et on migre tous les tenants.

#13

Mis à jour par Frédéric Péters il y a presque 5 ans

  • Lié à Bug #22883: ne jamais utiliser le schéma public ajouté
#15

Mis à jour par Emmanuel Cazenave il y a presque 5 ans

  • Statut changé de Solution proposée à Solution validée

Ok (pour prochain cycle).

#16

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit b7f313ae2a6e42d8d9bbb51afa0b1d1b04ac3159
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Sat Mar 2 12:28:02 2019 +0100

    migrate_schemas: remove migration of public schema (fixes #31042)

commit 76e399735ef6d3f4b3c6fcdf9ec95d89f574d7d8
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Sat Mar 2 12:21:34 2019 +0100

    migrate_schemas: add copyright notice (#31042)

commit 3e1b838a6f6c4b43b253de690c8a25b944bf77b0
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Sat Mar 2 12:19:47 2019 +0100

    migrate_schemas: PEP8ness, remove useless imports (#31042)
#17

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

  • % réalisé changé de 0 à 100
#18

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Lié à Bug #34504: revert #31042, utiliser le schéma public ajouté
#19

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

  • Statut changé de Résolu (à déployer) à En cours
#20

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

L'utilisation de MigrationRecord pour ne récupérer que les migrations appliquées au schéma public n'est pas vraiment utile, il suffit de récupérer la liste complète et de voir si elles sont appliquées ou non dans le schéma cible.

#22

Mis à jour par Emmanuel Cazenave il y a plus de 4 ans

  • Statut changé de Solution proposée à Solution validée

Test chez moi.

A pousser vite je pense pour avoir le temps de ...

#23

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 02b1ef8c2ee12bd9e22995e0319657c56e8aad35
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Wed Jul 3 09:28:57 2019 +0200

    do not use public schema for finding list of migrations (#31042)

commit d4790d882b684d55021749200b5c57b6df0a7ee0
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Sat Mar 2 12:28:02 2019 +0100

    migrate_schemas: remove migration of public schema (fixes #31042)
#24

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF