Clé primaire inconnue

Lorsque j’essaie de me connecter, j’obtiens :

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'

Aussi, lorsque j’essaie d’ouvrir d’autres sujets, j’obtiens :

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'

Peut-être que vos Satan’s n’ont pas été migrés ?

Vous pouvez essayer

rake db:migrate

Vous n’avez pas défini de skip post migrations, n’est-ce pas ? Est-ce une installation standard ?

C’était une configuration Docker et Discourse fonctionnait bien, j’ai juste exporté le conteneur Docker et l’ai importé sur un autre serveur avec /var/discourse et l’ai démarré, c’est tout.
J’ai également exécuté rake db:migrate mais cela n’a pas aidé.

Avez-vous restauré la sauvegarde ?

Avez-vous essayé une reconstruction ?

Je ne pense pas que les fichiers de base de données soient à l’intérieur du conteneur, donc postgresql risque de manquer la base de données discourse, sinon l’ensemble des fichiers de base de données.

Une restauration devrait résoudre le problème, car une restauration postgresql standard devrait créer la base de données discourse. (Mais si cela échoue, essayez de créer la base de données puis effectuez une restauration.)

Ce n’est pas la bonne façon de faire Move your Discourse Instance to a Different Server et cela ne fonctionnera jamais.

3 « J'aime »