Pups::ExecError: cd /var/www/discourse & su discourse -c ‘bundle exec rake db:migrate’ fallito con ritorno #<Process::Status: pid 1121 exit 1>
Posizione del fallimento: /usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn’
exec fallito con i parametri {“cd”=>“$home”, “hook”=>“db_migrate”, “cmd”=>[“su discourse -c ‘bundle exec rake db:migrate’”]}
bootstrap fallito con codice di uscita 1
E scorrendo verso l’alto:
PG::DependentObjectsStillExist: ERRORE: impossibile eliminare la colonna post_id dalla tabella bookmarks perché altri oggetti dipendono da essa
DETTAGLIO: il trigger bookmarks_polymorphic_data_sync sulla tabella bookmarks dipende dalla colonna post_id della tabella bookmarks
SUGGERIMENTO: Utilizzare DROP … CASCADE per eliminare anche gli oggetti dipendenti.
Purtroppo, su un’installazione pulita di 3.0.0.beta16 non c’è alcun trigger in psql che potrei eliminare.
Tuttavia, il ripristino del backup che ho effettuato da una 2.9.0.beta12 fallisce con lo stesso errore.
ERROR: cannot drop column post_id of table bookmarks because other objects depend on it
DETAIL: trigger bookmarks_polymorphic_data_sync on table bookmarks depends on column post_id of table bookmarks
EDIT:
Capito ora - ho eliminato il trigger nell’origine - l’aggiornamento e il ripristino dei backup hanno ricominciato a funzionare - grazie per il suggerimento
Sto riscontrando un problema simile durante l’aggiornamento di Discourse.
Causato da:
PG::DependentObjectsStillExist: ERRORE: impossibile eliminare la colonna post_id della tabella bookmarks perché altri oggetti dipendono da essa
DETTAGLIO: il trigger bookmarks_polymorphic_data_sync sulla tabella bookmarks dipende dalla colonna post_id della tabella bookmarks
SUGGERIMENTO: Utilizzare DROP ... CASCADE per eliminare anche gli oggetti dipendenti.
Qualcuno sta riscontrando un problema simile, quando l’aggiornamento fallisce durante la migrazione del database
Ho fatto quanto segue, l’aggiornamento è riuscito!
Avvia il container, poiché è stato arrestato durante l’aggiornamento
./launcher start app
./launcher enter app
Accedi al prompt dei comandi di psql
sudo -u postgres psql discourse
visualizza i trigger
SELECT tgname FROM pg_trigger;
Elimina il trigger
DROP TRIGGER IF EXISTS bookmarks_polymorphic_data_sync ON bookmarks CASCADE;