Handelt es sich um eine Entwicklunginstallation oder eine Standardinstallation?
Wenn Sie versuchen, auf der Produktionsumgebung auszuführen, würden Sie die Version in Ihrer app.yml auf „stable“ setzen. Sie würden Discourse nicht klonen, wie Sie es angegeben haben.
Nachdem ich sudo -s und dann d/rake db:drop db:create db:migrate ausgeführt hatte, erhielt ich folgende Fehlermeldung:
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)
Hmm. Löschen und erstellen Sie diese Datenbanken vielleicht einfach selbst neu und migrieren Sie sie mit der Rake-Aufgabe. Oder geben Sie dem Discourse-Benutzer die Rechte zum Erstellen und Zerstören (ich glaube, das ist einfacher).
Ich bin nicht sehr vertraut mit dem Prozess, dem Discourse-Benutzer leider die Rechte zum Erstellen und Löschen zu geben. Meinst du bei der ersten Option, dass ich einfach alle diese Datenbanken löschen und dann d/rake db:create db:migrate ausführen soll? Ist das richtig?
Vielen Dank für deine bisherige Hilfe! Ich möchte einen Schritt zurücktreten, bevor ich tiefer in die Fehlerbehebung von psql eintauche. Mein Hauptziel ist es, die Discourse Docker-Entwicklungsumgebung (auf Stable) unter Ubuntu auszuführen, was unter Mac problemlos und wie erwartet funktioniert. Sollte ich das nicht ohne diese Tabellen- und Migrationsfehler tun können? Wenn ich versuche, eine Neuinstallation durchzuführen, erhalte ich den Bookmark-Fehler, und nachdem ich diesen behoben habe, erhalte ich diesen NoMethodError und jetzt den InsufficientPrivilege-Fehler.
Anfangs dachte ich, es lag daran, dass ich auf test-passed war und der Wechsel zu Stable das Problem verursachte, aber selbst in einer sauberen, leeren Ubuntu-Instanz tritt der NoMethodError immer noch auf. Dies geschieht ohne vorhandene vorherige Datenbanken. Ich habe gerade Schritt #1 und Schritt #2 hier durchgeführt:
Kannst du Stable ohne Probleme unter Ubuntu installieren?
Vielen Dank für deine Antwort! Leider stoße ich immer wieder auf dasselbe Problem:
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)
Ich habe dies auf einer leeren Instanz (von vorne begonnen, keine vorhandenen Datenbanken oder Informationen) unter Verwendung der Anleitung für Anfänger versucht und erhalte dasselbe Ergebnis.
Dies ist der Fehler, den ich immer noch in d/rails s erhalte
Dann müssen Sie die Datenbank auf andere Weise löschen. Sie können nach Dingen über Postgres googeln (das mache ich, wenn ich es tun muss) oder darauf warten, dass jemand, der sich erinnert, hier postet. Die andere Möglichkeit ist zu prüfen, ob der Discourse-Benutzer die Rechte zum Löschen und Erstellen von Datenbanken hat.