S’agit-il d’une installation de développement ou d’une installation standard ?
Si vous essayez de déployer en production, vous devrez définir la version sur « stable » dans votre fichier app.yml. Vous n’auriez pas cloné Discourse comme vous l’avez indiqué.
Après avoir exécuté sudo -s puis d/rake db:drop db:create db:migrate, j’ai obtenu l’erreur suivante :
PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
Couldn't drop database 'discourse_development'
rake aborted!
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
Caused by:
PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
Tasks: TOP => db:drop:_unsafe
(See full trace by running task with --trace)
Je suis allé dans d/psql et j’ai obtenu la liste :
Hmm. Peut-être supprimez et recréez ces bases de données vous-même et migrez-les avec la tâche rake. Ou donnez à l’utilisateur discourse les droits de créer et de détruire (je pense que c’est plus facile).
Je ne suis pas très familier avec le processus d’octroi des droits d’utilisateur Discourse pour créer et détruire malheureusement. Dans la première option cependant, dites-vous que je devrais simplement supprimer toutes ces bases de données, puis exécuter d/rake db:create db:migrate ? Est-ce correct ?
Merci pour votre aide jusqu’à présent ! Je voulais juste prendre un peu de recul avant d’aller plus loin dans le dépannage de psql. Mon objectif principal est simplement d’exécuter l’environnement de développement Discourse docker (sur stable) sur Ubuntu, ce qui fonctionne bien et comme prévu sur Mac. Ne devrais-je pas pouvoir le faire sans ces erreurs de table et de migration ? Lorsque je tente une nouvelle installation, j’obtiens l’erreur de signet, et après l’avoir résolue, j’obtiens cette erreur NoMethodError, et maintenant l’erreur InsufficientPrivilege.
Initialement, je pensais que c’était parce que j’étais sur test-passed, puis passer à stable a causé le problème, mais même dans une instance Ubuntu propre et vide, la NoMethodError apparaît toujours, et ce sans aucune base de données préexistante. J’ai juste suivi les étapes #1 et #2 ici :
Êtes-vous en mesure d’installer stable sur Ubuntu sans problème ?
Remontée de ce fil de discussion ! Je me demande si quelqu’un d’autre a réussi à exécuter un environnement de développement sur la version stable d’Ubuntu.
Merci pour ta réponse ! Malheureusement, je rencontre toujours le même problème :
d/bundle exec rake db:drop db:create db:migrate
PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
Couldn't drop database 'discourse_development'
rake aborted!
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Caused by:
PG::InsufficientPrivilege: ERROR: must be owner of database discourse_development
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => db:drop:_unsafe
(See full trace by running task with --trace)
J’ai tenté cela sur une instance vide (redémarrée depuis le début, sans bases de données ni informations existantes) en utilisant le guide du débutant et cela rend le même résultat.
C’est l’erreur que j’obtiens toujours dans d/rails s
Alors vous devrez supprimer la base de données d’une autre manière. Vous pouvez rechercher des informations sur postgres (c’est ce que je fais quand j’ai besoin de le faire) ou attendre que quelqu’un qui s’en souvient poste ici. L’autre option est de vérifier que l’utilisateur discourse a les droits de supprimer et de créer des bases de données.