discourse -c 'bundle exec rake db:migrate'
rake aborted!
StandardError: Si è verificato un errore, questa e tutte le migrazioni successive sono state annullate: (StandardError)
You must drop a column's default value before marking it as readonly
I, [2026-01-08T16:18:49.016491 #1] INFO -- : Terminating async processes
I, [2026-01-08T16:18:49.018961 #1] INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main pid: 46
I, [2026-01-08T16:18:49.020147 #1] INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 113
2026-01-08 16:18:49.019 UTC [46] LOG: received fast shutdown request
113:signal-handler (1767889129) Received SIGTERM scheduling shutdown...
2026-01-08 16:18:49.023 UTC [46] LOG: aborting any active transactions
2026-01-08 16:18:49.034 UTC [46] LOG: background worker "logical replication launcher" (PID 60) exited with exit code 1
2026-01-08 16:18:49.040 UTC [55] LOG: shutting down
2026-01-08 16:18:49.042 UTC [55] LOG: checkpoint starting: shutdown immediate
2026-01-08 16:18:49.057 UTC [55] LOG: checkpoint complete: wrote 32 buffers (0.1%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.007 s, sync=0.004 s, total=0.017 s; sync files=16, longest=0.002 s, average=0.001 s; distance=180 kB, estimate=180 kB
2026-01-08 16:18:49.067 UTC [46] LOG: database system is shut down
113:M 08 Jan 2026 16:18:49.108 # User requested shutdown...
113:M 08 Jan 2026 16:18:49.108 * Saving the final RDB snapshot before exiting.
113:M 08 Jan 2026 16:18:49.123 * DB saved on disk
113:M 08 Jan 2026 16:18:49.123 # Redis is now ready to exit, bye bye...
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 4483 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
La correzione di @zogstrip per quella migrazione è ora disponibile in latest, quindi eseguire un altro aggiornamento dovrebbe far funzionare di nuovo le cose.
I, [2026-01-09T05:09:31.402079 #1] INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2026-01-09T05:09:31.409979 #1] INFO -- : > sleep 10
4481:C 09 Jan 2026 05:09:31.416 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
4481:C 09 Jan 2026 05:09:31.416 # Redis version=7.0.15, bits=64, commit=00000000, modified=0, pid=4481, just started
4481:C 09 Jan 2026 05:09:31.416 # Configuration loaded
4481:M 09 Jan 2026 05:09:31.417 * monotonic clock: POSIX clock_gettime
4481:M 09 Jan 2026 05:09:31.418 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
4481:M 09 Jan 2026 05:09:31.418 # Failed listening on port 6379 (TCP), aborting.
I, [2026-01-09T05:09:41.418357 #1] INFO -- :
I, [2026-01-09T05:09:41.421210 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled: (StandardError)
You must drop a column's default value before marking it as readonly
/var/www/discourse/lib/migration/column_dropper.rb:15:in `mark_readonly'
/var/www/discourse/plugins/discourse-rewind/db/migrate/20260105171115_rename_discourse_rewind_disabled_to_enabled.rb:15:in `up'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.4/lib/active_record/migration.rb:993:in `public_send'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.4/lib/active_record/migration.rb:993:in `exec_migration'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `block in exec_migration'
I, [2026-01-09T05:09:52.683547 #1] INFO -- : Terminating async processes
I, [2026-01-09T05:09:52.684945 #1] INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main pid: 45
112I, [2026-01-09T05:09:52.685640 #1] INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 112
:signal-handler (1767935392) Received SIGTERM scheduling shutdown...
2026-01-09 05:09:52.686 UTC [45] LOG: received fast shutdown request
2026-01-09 05:09:52.691 UTC [45] LOG: aborting any active transactions
2026-01-09 05:09:52.708 UTC [45] LOG: background worker "logical replication launcher" (PID 59) exited with exit code 1
2026-01-09 05:09:52.713 UTC [54] LOG: shutting down
2026-01-09 05:09:52.716 UTC [54] LOG: checkpoint starting: shutdown immediate
112:M 09 Jan 2026 05:09:52.718 # User requested shutdown...
112:M 09 Jan 2026 05:09:52.718 * Saving the final RDB snapshot before exiting.
2026-01-09 05:09:52.734 UTC [54] LOG: checkpoint complete: wrote 17 buffers (0.1%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.007 s, sync=0.004 s, total=0.020 s; sync files=14, longest=0.002 s, average=0.001 s; distance=71 kB, estimate=71 kB
2026-01-09 05:09:52.750 UTC [45] LOG: database system is shut down
112:M 09 Jan 2026 05:09:52.763 * DB saved on disk
112:M 09 Jan 2026 05:09:52.763 # Redis is now ready to exit, bye bye...
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 4484 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
Onestamente, non so quale sia il problema con la tua installazione di Discourse. Ho appena ricostruito il mio secondo forum tramite il terminale del server e tutto è di nuovo a posto. Ora ricostruirò il mio terzo forum, spero che anche questo vada bene.
Se hai apportato modifiche ai file di Discourse, so che può causare problemi in futuro. O se hai aggiunto/installato manualmente dei plugin.
Aspetta, sii paziente e coloro che ne sanno più di me ti aiuteranno. Questo è uno dei motivi per cui mi piace e sono passato a questo sistema, la community, questo è ciò che lo rende ancora più grande.
Modifica:
Tuttavia, sul mio terzo forum, la ricostruzione non ha funzionato.
FAILED
Pups::ExecError: cd /var/www/discourse && su discourse -c ‘bundle exec rake db:migrate’ failed with return #<Process::Status: pid 4466 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn’
exec failed with the params {“cd”=>“$home”, “tag”=>“migrate”, “hook”=>“db_migrate”, “cmd”=>[“su discourse -c ‘bundle exec rake db:migrate’”]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
63e30cde8c7295d25def35eef74dea30714627609c3d38b49a8f80865e5759cf
E ora reindirizza al mio secondo forum… cosa… cosa…
Non ho nemmeno plugin installati manualmente sul mio terzo forum, ma dopo la ricostruzione fallita e il reindirizzamento al mio secondo forum… Ho anche controllato il file di configurazione (nano containers/app.yml) e anche lì è tutto a posto… cosa sta succedendo?
Non per me Per fortuna ho un punto di ripristino del server datato 01-05-2026. Per la seconda volta non riesco né ad aggiornare né a ricostruire Discourse. Ora lo sto ripristinando di nuovo, e una cosa è chiara:
Eseguo il backup di tutti gli argomenti/articoli in un file di testo.
Si spera che questo venga risolto o con una nuova installazione di Discourse, o con un altro sistema (cosa che non voglio fare).
C’è qualcosa da qualche parte che mi sfugge e non so cosa sia, e mi sta facendo impazzire. Ma apparentemente l’uranio retrogrado sta facendo la sua parte. Per ora lascio le cose così, e vado a correggere alcuni bug in HELLDIVERS 2 perché sono triste
Capisco le vostre frustrazioni e mi scuso. Ho testato le mie “correzioni” localmente sia sul mio database di sviluppo locale, sia su un database nuovo di zecca ed entrambi hanno funzionato perfettamente. Poi ho testato su un’istanza ospitata che gestisco per una community che amministro ed ha funzionato bene anche lì. Ha superato anche tutti i nostri CI (su GitHub) pubblici e i nostri CI interni e i test di fumo.
Casualmente, nessuno di quei database conteneva dati che erano stati interessati da quella migrazione …
Mi dispiace che abbiate avuto una brutta esperienza e sarò più attento la prossima volta.
Dopo aver ricostruito, ho scoperto che i dati non erano aggiornati, quindi ho eseguito un ripristino utilizzando il backup di due giorni fa dal pannello di amministrazione. Al momento non è stato riscontrato alcun problema.
@here per coloro che riscontrano problemi, io penso che @david ed io potremmo aver trovato la causa principale, ma è complicato da riprodurre localmente.
Qualcuno di voi potrebbe eseguire le seguenti query SQL e riportare i risultati qui?
Query #1
SELECT table_schema, column_name, column_default
FROM information_schema.columns
WHERE table_name = 'user_options'
AND column_name = 'discourse_rewind_disabled'
ORDER BY table_schema;
Query #2
SELECT n.nspname, n.oid
FROM pg_namespace n
JOIN pg_class c ON c.relnamespace = n.oid
WHERE c.relname = 'user_options'
ORDER BY n.oid;
Query #3
SELECT table_schema, column_default IS NOT NULL as has_default
FROM information_schema.columns
WHERE table_name = 'user_options'
AND column_name = 'discourse_rewind_disabled';
Query #4
SELECT nspname, oid FROM pg_namespace
WHERE nspname NOT IN ('pg_catalog', 'information_schema', 'pg_toast', 'public')
AND nspname NOT LIKE 'pg_temp%'
AND nspname NOT LIKE 'pg_toast_temp%'
ORDER BY oid;
Questi comandi devono essere eseguiti all’interno del container? Qual è la password predefinita per postsql quando si utilizza Discourse distribuito con Docker?