Chiave primaria sconosciuta

Quando tento fazer login, recebo:

Started POST "/session" for <IP> at 2023-04-07 20:57:15 +0000
Processing by SessionController#create as */*
  Parameters: {"login"=>"<user>", "password"=>"[FILTERED]", "second_factor_method"=>"1", "timezone"=>"<TIME_ZONE>"}
start
done
Completed 500 Internal Server Error in 161ms (ActiveRecord: 0.0ms | Allocations: 154577)
ActiveRecord::UnknownPrimaryKey (Unknown primary key for table posts in model Post.)
lib/freedom_patches/ams_include_without_root.rb:49:in `include!'
app/controllers/application_controller.rb:496:in `serialize_data'
app/controllers/application_controller.rb:505:in `render_serialized'
app/controllers/session_controller.rb:714:in `login'
app/controllers/session_controller.rb:341:in `create'
app/controllers/application_controller.rb:397:in `block in with_resolved_locale'
app/controllers/application_controller.rb:397:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:358:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:198:in `call'

TambĂŠm, ao tentar abrir outros tĂłpicos, recebo:

Started GET "/t/le-numerique-alternatif-et-ecologique-murena-e-os-fairphone-telecoop-commown/48638" for <IP> at 2023-04-07 20:56:40 +0000
Processing by TopicsController#show as HTML
  Parameters: {"slug"=>"le-numerique-alternatif-et-ecologique-murena-e-os-fairphone-telecoop-commown", "topic_id"=>"48638"}
Completed 500 Internal Server Error in 11ms (ActiveRecord: 0.0ms | Allocations: 3093)
ActiveRecord::UnknownPrimaryKey (Unknown primary key for table posts in model Post.)
lib/freedom_patches/fast_pluck.rb:59:in `pluck'
lib/freedom_patches/fast_pluck.rb:52:in `pluck'
lib/topic_view.rb:143:in `initialize'
app/controllers/topics_controller.rb:89:in `new'
app/controllers/topics_controller.rb:89:in `show'
app/controllers/application_controller.rb:397:in `block in with_resolved_locale'
app/controllers/application_controller.rb:397:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:356:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:198:in `call'

Forse i tuoi Satan’s non sono stati migrati?

Puoi provare

rake db:migrate

Non hai saltato le migrazioni post, vero? È un’installazione standard?

Era una configurazione di Docker e Discourse funzionava bene, ho semplicemente esportato il container Docker e l’ho importato su un altro server insieme a /var/discourse e l’ho avviato, tutto qui.
Ho anche eseguito rake db:migrate ma non ha aiutato.

Hai ripristinato il backup?

Hai provato una ricostruzione?

Non credo che i file del database siano all’interno del container, quindi è probabile che postgresql non trovi il database discourse, se non l’intero set di file del database.

Un ripristino dovrebbe risolvere il problema, poichĂŠ il ripristino standard di postgresql dovrebbe creare il database discourse. (Ma se non dovesse funzionare, prova a creare il database e poi a fare un ripristino.)

Questo non è il modo corretto per Move your Discourse Instance to a Different Server e non funzionerà mai.

3 Mi Piace