Relation "discourse_automation_automations" restauration de 3.3beta1 à 3.5beta7

J’essaie de restaurer une base de données de

    

vers la version actuelle. J’ai copié le même app.yml et je restaure (nouvelle VM et j’essaie d’éviter la mise à niveau de pg, bien que je devrais peut-être essayer cela au lieu de la restauration)

J’obtiens cette erreur :

PG::DuplicateTable: ERROR:  relation "discourse_automation_automations" already exists

Cela ressemble à un autre cas où une migration a été réintégrée et ce site a été construit pendant ces quelques commits.

Je ne sais pas quoi faire, cependant. Peut-être supprimer la migration qui essaie de créer cette table ?

Je pense que 3.3beta1 était avant que le plugin ne soit inclus dans le cœur en avril. Cela pourrait-il entraîner des problèmes — par exemple, parce que le plugin est maintenant inclus dans le cœur tout en étant toujours installé séparément via app.yml ?

C’est une bonne idée, mais ce n’est pas ça. Je ne l’inclus plus. Je me demande si j’aurais peut-être dû essayer de l’ajouter (mais je ne la vois pas en y regardant rapidement). Mon idée actuelle est de supprimer toutes les tables d’automatisations (elles sont vides) sur l’ancien site, de faire une nouvelle sauvegarde et d’essayer de la restaurer.

1 « J'aime »

Eh bien, et ensuite ça a échoué parce que discourse_automations_automations était manquant. :person_shrugging:

J’ai donc supprimé ceci :

20210108134117_add_pending_pms_table.rb
20210512090204_add_timestamps_to_automations.rb
20210530122323_move_triggers_to_fields.rb
20211119103353_adds_discourse_automation_user_global_notice.rb
20230412120414_add_prefers_encrypt_field_to_pending_pms.rb

et j’aurais probablement dû supprimer 20190601000001_create_automations_table.rb, mais j’ai plutôt ajouté du code unless table exists (je pense que lorsque je l’ai supprimé, j’avais un autre problème ?).

Et j’ai finalement réussi à le restaurer.

1 « J'aime »

Pouvons-nous clore ce sujet ? Ou le déplacer vers Dev ou Installation > Hosting si vous souhaitez le laisser ouvert ?

Oui. Vous pouvez la fermer. Je ne sais pas si cela arrivera à quelqu’un d’autre, donc cela peut être utile ou non.