J’ai une instance multisite dans laquelle un tas de bases de données n’ont pas réussi à migrer car
\n\n PG::DuplicateColumn: ERROR: column "bookmarkable_id" of relation "bookmarks" already exists \n\npeut-être devrais-je supprimer cette colonne de cette table dans ces bases de données ?
\n\nil semble que ce soit parce que les migrations précédentes n’avaient pas été exécutées en raison de la définition de SKIP_POST_DEPLOYMENT_MIGRATIONS et que les migrations précédentes n’étaient pas terminées.
\n\nJe supprimerai ceci lorsque je confirmerai que c’est vrai…
@martin des idées, peut-être liées aux récents refactorings ?
Désolé pour la fausse alerte. Je déteste tellement quand je fais ça.
Le problème était que j’avais défini SKIP_POST_DEPLOYMENT_MIGRATIONS: 1 et que je n’avais pas exécuté multisite:migrate. Après avoir exécuté SKIP_POST_DEPLOYMENT_MIGRATIONS=- multisite:migrate, j’ai pu démarrer.
Je dois juste corriger mes outils pour multisite afin d’exécuter la migration après avoir lancé le nouveau conteneur semi-migré.
Mais étrange. Recovering from failed/partially applied upgrade semble avoir le même problème et il semble s’agir d’une installation standard.
J’aurais répondu à ce post, mais j’ai pensé que c’était le même symptôme d’un problème différent.
J’avoue ne pas en savoir assez pour confirmer dans un sens ou dans l’autre…
Semble lié à DEV: Re-add polymorphic bookmark columns (#16261) · discourse/discourse@8040b95 · GitHub
Ce commit est une refonte de 2f1ddadff7dd47f824070c8a3f633f00a27aacde
que nous avons annulée car elle a fait échouer une vérification interne de CI. J’ai examiné
cela, et cela s’est produit parce que l’ancienne migration pour ajouter les colonnes de signets
existait toujours, et ces colonnes ont été supprimées dans une post-migration,
donc les deux migrations pour ajouter les colonnes entraient en conflit avant
que la post-migration ne soit exécutée.
Wow. Cela semble l’expliquer.
Des nouvelles à ce sujet ?
Le mien rencontre le même problème.
Comment puis-je copier ce git dans mon discourse ?