D: Se si dispone di un vecchio DB di installazione di Discourse, v2.0 > esportazione - importazione > 2.9 - fallirà o esiste un processo di conversione integrato nell’importazione per consentire un’importazione corretta?
Ah grazie, sembra funzionare, tranne che ora fallisce il bootstrap alla ricostruzione dell’app.
Sembra esserci un errore “discourse database already exists: type error” e anche un errore ruby/gems nell’avviso di bootstrap.
Ho letto alcuni degli errori.
Come contesto, questa build 2.2b4 (PG10) è l’impostazione e la build di importazione originale utilizzata per importare da un’altra piattaforma di forum “old school” - questa non ha avuto aggiornamenti o modifiche da quando, per quanto ne so.
La mia impressione è che la soluzione possa essere quella di commentare alcune righe da qualche parte utilizzate solo per la migrazione/importazione originale - Dove si trovano normalmente tali personalizzazioni per una build?
Nota: ho già rimosso o commentato - plugin, lets’ encrypt e le righe della versione 2.2b4 da app.yml.
Dovresti includere il tuo file per un aiuto reale. Se vedi cose come
apt get
O qualcosa sulla modifica di Gemfile, sarebbero cose da rimuovere.
Quello che probabilmente farei = dato che l’aggiornamento del database ha funzionato) è rinominare il tuo app.yml ed eseguire discourse-setup (supponendo che il tuo file attuale abbia i suoi dati in shared/standalone. Potresti semplicemente confrontare il tuo file con samples/standalone.yml.
Fantastico, grazie per i suggerimenti. Proverò con rm app.yml e vedrò cosa succede.
Quando dici file, intendi errori nel terminal o in app.yml o in un file diverso?
Informazioni aggiuntive: sto avviando un droplet per imparare e capire, in modo da comprendere meglio come mantenere con il bonus di una tranquillità nel cestinare. Cioè, non ho eseguito questo su/e cestinato un forum live ![]()
Quando mi sono allontanato ieri, mi è venuto in mente che dovrei ovviamente controllare le istruzioni dell’importatore e capire come è configurato e vedere se ci sono residui, ma il tuo suggerimento riguardo a app.yml probabilmente aggira tali imprevisti. ![]()
Ok, tried all that - spun up new droplet,
updates OS/Docker
stopped container
rm app.yml
discourse-setup = upgraded PG10
rebuild FAILED bootstrap (looks identical to yesterday’s error messages.)
The errors that I can see:
1) ERROR: database “discourse” already exists
2022-05-20 10:35:29.889 UTC [42] LOG: database system is ready to accept connections
I, [2022-05-20T10:35:34.789986 #1] INFO – :
I, [2022-05-20T10:35:34.790259 #1] INFO – : > su postgres -c ‘createdb discourse’ || true
2022-05-20 10:35:34.839 UTC [55] postgres@postgres ERROR: database “discourse” already exists
2022-05-20 10:35:34.839 UTC [55] postgres@postgres STATEMENT: CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR: database “discourse” already exists
2) “index_poll_options_on_poll_id_and_digest”
I, [2022-05-20T10:29:54.464874 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
2022-05-20 10:29:58.275 UTC [664] discourse@discourse ERROR: duplicate key value violates unique constraint **"index_poll_options_on_poll_id_and_digest"**
2022-05-20 10:29:58.275 UTC [664] discourse@discourse DETAIL: Key (poll_id, digest)=(163, 84b9c1be0d88b6592595e6e16827dbc1) already exists.
2022-05-20 10:29:58.275 UTC [664] discourse@discourse STATEMENT: INSERT INTO poll_options
(poll_id, digest, html, anonymous_votes, created_at, updated_at)
VALUES
(163, 'e8b71c653ce9b67fbfdeb23956415a45', '<2%', 0, '2019-03-16 12:37:50 UTC', '2019-03-16 12:37:50 UTC'),(163, '19aab1c9ed0e7bf7aff0dc154f3f349a', '3%', 0, '2019-03-16 12:37:50 UTC', '2019-03-16 12:37:50 UTC'),(163, 'ba429f197b4f9f3ce89f4e1fb2e8b009', '4%', 1, '2019-03-16 12:37:50 UTC', '2019-03-16 12:37:50 UTC'),(163, '30eb71c6082b75ca751c3d4e94aa386c', '5%', 0, '2019-03-16 12:37:50 UTC', '2019-03-16 12:37:50 UTC'),(163, '7575912ab29a386e8f6797e280aca664', '6%', 0, '2019-03-16 12:37:50 UTC', '2019-03-16 12:37:50 UTC'),(163, '17950b1d5d660a2e8a078640be0def0a', '7%', 0, '2019-03-16 12:37:50 UTC', '2019-03-16 12:37:50 UTC'),(163, '1c4e675eb7d2d561f16d1afce8330816', '8%', 0, '2019-03-16 12:37:50 UTC', '2019-03-16 12:37:50 UTC'),(163, 'a891f2abb4531189affefe9896df814e', '9%', 0, '2019-03-16 12:37:50 UTC', '2019-03-16 12:37:50 UTC'),(163, 'd7d8f9a60fc4dc25f2e6a986b12e5176', '10%', 0, '2019-03-16 12:37:50 UTC', '2019-03-16 12:37:50 UTC'),(163, '3d5e680f80b95ddbf99490991327349a', '11%', 0, '2019-03-16 12:37:50 UTC', '2019-03-16 12:37:50 UTC'),(163, '84b9c1be0d88b6592595e6e16827dbc1', '12%', 0, '2019-03-16 12:37:50 UTC', '2019-03-16 12:37:50 UTC'),(163, '84b9c1be0d88b6592595e6e16827dbc1', '<blockquote>
<p>12%</p>
</blockquote>', 0, '2019-03-16 12:37:50 UTC', '2019-03-16 12:37:50 UTC')
RETURNING digest, id
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
ERROR: duplicate key value violates unique constraint "index_poll_options_on_poll_id_and_digest"
DETAIL: Key (poll_id, digest)=(163, 84b9c1be0d88b6592595e6e16827dbc1) already exists.
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `exec'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mini_sql-1.4.0/lib/mini_sql/postgres/connection.rb:209:in `run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mini_sql-1.4.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `block in run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mini_sql-1.4.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `block in with_lock'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mini_sql-1.4.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `with_lock'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mini_sql-1.4.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mini_sql-1.4.0/lib/mini_sql/postgres/connection.rb:64:in `query_single'
/var/www/discourse/plugins/poll/db/migrate/20180820080623_migrate_polls_data.rb:131:in `block (2 levels) in up'
/var/www/discourse/plugins/poll/db/migrate/20180820080623_migrate_polls_data.rb:87:in `each'
/var/www/discourse/plugins/poll/db/migrate/20180820080623_migrate_polls_data.rb:87:in `block in up'
/var/www/discourse/plugins/poll/db/migrate/20180820080623_migrate_polls_data.rb:64:in `each'
/var/www/discourse/plugins/poll/db/migrate/20180820080623_migrate_polls_data.rb:64:in `up'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:873:in `public_send'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:873:in `exec_migration'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:9:in `block in exec_migration'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:854:in `block (2 levels) in migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:853:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:215:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:852:in `migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1046:in `migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1360:in `block in execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/connection_adapters/abstract/transaction.rb:317:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:316:in `transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/transactions.rb:209:in `transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1411:in `ddl_transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1359:in `execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1333:in `each'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1333:in `migrate_without_lock'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1282:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1432:in `block in with_advisory_lock'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:215:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1447:in `with_advisory_lock_connection'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1428:in `with_advisory_lock'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1282:in `migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1117:in `up'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1092:in `migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/tasks/database_tasks.rb:262:in `migrate'
/var/www/discourse/lib/tasks/db.rake:227:in `block (2 levels) in <main>'
/var/www/discourse/lib/distributed_mutex.rb:33:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:14:in `synchronize'
/var/www/discourse/lib/tasks/db.rake:210:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Caused by:
PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_poll_options_on_poll_id_and_digest"
DETAIL: Key (poll_id, digest)=(163, 84b9c1be0d88b6592595e6e16827dbc1) already exists.
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `exec'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-3.0.0/lib/patches/db/pg.rb:110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mini_sql-1.4.0/lib/mini_sql/postgres/connection.rb:209:in `run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mini_sql-1.4.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `block in run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mini_sql-1.4.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `block in with_lock'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mini_sql-1.4.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `with_lock'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mini_sql-1.4.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/mini_sql-1.4.0/lib/mini_sql/postgres/connection.rb:64:in `query_single'
/var/www/discourse/plugins/poll/db/migrate/20180820080623_migrate_polls_data.rb:131:in `block (2 levels) in up'
/var/www/discourse/plugins/poll/db/migrate/20180820080623_migrate_polls_data.rb:87:in `each'
/var/www/discourse/plugins/poll/db/migrate/20180820080623_migrate_polls_data.rb:87:in `block in up'
/var/www/discourse/plugins/poll/db/migrate/20180820080623_migrate_polls_data.rb:64:in `each'
/var/www/discourse/plugins/poll/db/migrate/20180820080623_migrate_polls_data.rb:64:in `up'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:873:in `public_send'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:873:in `exec_migration'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:9:in `block in exec_migration'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:854:in `block (2 levels) in migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:853:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:215:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:852:in `migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1046:in `migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1360:in `block in execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/connection_adapters/abstract/transaction.rb:317:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:316:in `transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/transactions.rb:209:in `transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1411:in `ddl_transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1359:in `execute_migration_in_transaction'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1333:in `each'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1333:in `migrate_without_lock'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1282:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1432:in `block in with_advisory_lock'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:215:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1447:in `with_advisory_lock_connection'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1428:in `with_advisory_lock'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1282:in `migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1117:in `up'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/migration.rb:1092:in `migrate'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-7.0.3/lib/active_record/tasks/database_tasks.rb:262:in `migrate'
/var/www/discourse/lib/tasks/db.rake:227:in `block (2 levels) in <main>'
/var/www/discourse/lib/distributed_mutex.rb:33:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:29:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:14:in `synchronize'
/var/www/discourse/lib/tasks/db.rake:210:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
I, [2022-05-20T10:29:58.305849 #1] INFO -- : == 20180820073549 CreatePollsTables: migrating ================================
-- create_table(:polls, {})
-> 0.0172s
-- add_index(:polls, [:post_id, :name], {:unique=>true})
-> 0.0016s
-- create_table(:poll_options, {})
-> 0.0064s
-- add_index(:poll_options, [:poll_id, :digest], {:unique=>true})
-> 0.0018s
-- create_table(:poll_votes, {:id=>false})
-> 0.0067s
-- add_index(:poll_votes, [:poll_id, :poll_option_id, :user_id], {:unique=>true})
-> 0.0013s
== 20180820073549 CreatePollsTables: migrated (0.0376s) =======================
End
I, [2022-05-20T10:29:58.308710 #1] INFO – : Terminating async processes
I, [2022-05-20T10:29:58.308759 #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/13/bin/postmaster -D /etc/postgresql/13/main pid: 42
I, [2022-05-20T10:29:58.308837 #1] INFO – : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
2022-05-20 10:29:58.308 UTC [42] LOG: received fast shutdown request
103:signal-handler (1653042598) Received SIGTERM scheduling shutdown…
103:M 20 May 2022 10:29:58.310 # User requested shutdown…
103:M 20 May 2022 10:29:58.310 * Saving the final RDB snapshot before exiting.
2022-05-20 10:29:58.310 UTC [42] LOG: aborting any active transactions
2022-05-20 10:29:58.312 UTC [42] LOG: background worker “logical replication launcher” (PID 51) exited with exit code 1
2022-05-20 10:29:58.312 UTC [46] LOG: shutting down
2022-05-20 10:29:58.392 UTC [42] LOG: database system is shut down
103:M 20 May 2022 10:29:58.601 * DB saved on disk
103:M 20 May 2022 10:29:58.602 # 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 650 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn’
exec failed with the params {“cd”=>“$home”, “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.
I’ve run discourse doc many times including this time and it didn’t turn up anything I could see
In tal caso, esegui una nuova installazione, esegui il backup del vecchio sito e ripristinalo sul nuovo sito.
Ah ah, quello era un po’ il mio gioco di parole.
Se è così semplice, allora tutti i miei problemi sono risolti.
Vedi, la mia preoccupazione era che avrei esportato da PG10 in un nuovissimo 2.9 che è PG13, non è così, e quindi risucchierà il database - la mia ipotesi sarebbe di no.
Quindi, in uno scenario di backup e ripristino, in questo contesto: l’esportazione/importazione di amministrazione è sufficiente senza prima aggiornare il vecchio database come stavo cercando di fare?
Sì, lo è, ma potresti dover correggere un problema con il tuo attuale DB prima di poterlo ripristinare su 2.9.
Ecco una soluzione che potrebbe funzionare, ma dovrai usare %84b9c1be0d88b6592595e6e16827dbc1% come value perché quello è l’ID del sondaggio che sta causando problemi nel tuo caso.
Sembra quindi che tu abbia un indice corrotto? (Non me ne sono accorto, ma è quello che suggerisce l’ultima risposta).
Se è così, puoi cercare alcuni esempi. Per lo più, provi a reindicizzare e vedi quali indici non si ricostruiscono, quindi elimini (o correggi se sei intelligente) i record errati.
Grazie per questo, sembrava promettente, ma si è bloccato su un nuovo ID sondaggio + VALORE dopo aver applicato alcuni di questi passaggi correttivi.
Sebbene questo possa essere il problema e possa essere la soluzione, penso che tutti i sondaggi causeranno un arresto o troppi, non semplicemente uno, e baso anche questo sull’affermazione di Falco nell’altro thread:
Quello non è un indice corrotto.
Tra la versione 2.1 e 2.5 abbiamo spostato i sondaggi da PluginStore a tabelle appropriate. Uno dei motivi dello spostamento è avere coerenza dei dati, che è esattamente il problema che hai.
Hai un valore duplicato nella tabella
poll_options. Puoi andare lì ed eliminare le voci duplicate?
È necessaria un’indagine più approfondita.
Ciao a tutti,
Sono nella stessa situazione di @agemo, ricevo esattamente lo stesso errore e sono pratico nel manipolare direttamente il database.
Ecco cosa non capisco. La soluzione suggerita è semplicemente eliminare i sondaggi con ID duplicati nella colonna dei valori, ma quando ho controllato la mia tabella, ho scoperto che tutte quelle voci duplicate fanno riferimento a diversi post_id, appartengono quindi a post diversi e hanno anche metadati diversi, come il numero di voti e altro ancora.
Qualcuno può spiegarmi la struttura vecchia contro la nuova struttura in modo che io possa capire questo errore. Per me, eliminare i sondaggi non risolve il problema poiché in realtà elimino i dati degli utenti.
Grazie!
Mi sembra che si tratti di un indice danneggiato. Puoi reindicizzare quella tabella?
O forse è il caso che qualcosa sia cambiato e sia necessaria una migrazione più complessa. O la migrazione è in qualche modo danneggiata.
Ciao @pfaffman, lieto di rivederti. Ho già utilizzato il tuo servizio per un sito diverso.
-
Posso assolutamente ricostruire l’indice su questa tabella, ma come aiuterà con dati non univoci? Puoi spiegare perché è sempre il tuo punto di partenza? (l’ho notato nelle tue risposte)
-
La migrazione è stata eseguita con la versione 2.2b4, quella in cui l’importazione dei sondaggi funzionava effettivamente.
-
Ho capito correttamente che nella vecchia tabella post_custom_fields il valore ->poll->options->id si riferisce in realtà al digest e non all’ID effettivo del sondaggio?
-
Cos’è comunque il digest di un sondaggio?
Grazie per la tua risposta, ma rimuovere semplicemente i sondaggi non è una soluzione per i record duplicati. Presumo che da qualche parte all’inizio l’importazione da phpbb3 sia stata errata e abbia creato quei record. Sono validi, hanno solo UUID duplicati poiché l’importazione originale non ha controllato questo aspetto.
Comunque, la soluzione per chiunque si imbatta in questo problema è fare quanto segue:
- Modifica i record problematici nella tabella
post_custom_fieldsper spostarli. È meglio farlo in questo modo piuttosto che aspettare qualche minuto per la ricostruzione solo per vedere un altro errore.
update post_custom_fields set name = 'polls' where name = 'polls_bak';
update post_custom_fields set name = 'polls-votes' where name = 'polls-votes_bak';
-
Esegui la ricostruzione dell’app, l’aggiornamento o qualsiasi altra cosa l’utente stia cercando di fare.
-
Connettiti al container live in esecuzione dopo che tutto è stato compilato e avviato.
-
Ripristina i nomi originali dei sondaggi:
update post_custom_fields set name = 'polls'_bak' where name = 'polls';
update post_custom_fields set name = 'polls-votes_bak'' where name = 'polls-votes';
- Esegui la migrazione che causa il problema manualmente dall’interno del container dell’app, nota che VERSION è il numero nel nome del file della migrazione
prima annulla la migrazione, questo non farà nulla poiché il metodo down non fa nulla al database:
rake db:migrate:down VERSION=20180820080623
esegui la migrazione e cerca il primo errore:
rake db:migrate:up VERSION=20180820080623
- Cerca nella tabella usando una GUI del database per un editing più semplice l’UUID che causa il problema:
select from post_custom_fields where value like '%your_UUID%';
-
Ora la parte difficile. L’UUID è l’identificatore della risposta/opzione del sondaggio, quindi quello che devi fare è cambiare quell’UUID sulla riga
polldiciamo da731ef6901e968fc3f4e785fcb9e9abe8a731ef6901e968fc3f4e785fcb9e9abe9è molto improbabile che tu ne trovi un altro come questo nel tuo sistema. Ma dopo averlo fatto, devi anche trovare quello corrispondente inpoll-votese cambiarlo con il tuo nuovo. In questo modo non perderai voti o risposte. -
Esegui nuovamente la migrazione e cerca il prossimo errore:
rake db:migrate:up VERSION=20180820080623
- Ripeti questo processo finché la migrazione non viene completata e hai migrato tutti i sondaggi nelle tue nuove tabelle.
Sono deluso dal fatto che nessuno si sia nemmeno preoccupato di rispondere e spiegare cos’è quell’UUID e a cosa si riferisce. So che è open source e so che sono passati anni da quando è stato committato, non mi lamento, ma un qualche tipo di assistenza da parte delle persone che effettivamente fanno commit sul repository ufficiale sarebbe molto apprezzata.
Il problema è stato risolto, quindi felici giorni.
Grazie!
Bel lavoro. ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.