Wie bekomme ich ein Passwort aus einer Datenbank?

Hallo! Wenn ich Discourse (Docker) installiere, sehe ich nicht, welches Passwort für meine Datenbank festgelegt wurde.
Ich brauche es, weil ich eine Fernverbindung zur Datenbank herstellen möchte und ich denke, dass Discourse ein Passwort für alle Docker-Images festlegt.

1 „Gefällt mir“

Hallo moschino :wave:,

Ich weiß nicht viel über technische Dinge, aber ich glaube, wenn du dich im Container befindest, kannst du dich mit dem Benutzernamen discourse ohne Passwort mit der Datenbank verbinden.

Lass mich wissen, ob das hilft:

./launcher enter app
su - discourse
psql
1 „Gefällt mir“

Warum möchtest du das tun? Normalerweise ist der Daten-Explorer ein besserer Weg, dies zu tun.

Standardmäßig ist die Datenbank nicht über einen Port erreichbar.

Wenn du deine Datenbank wirklich der Welt zugänglich machen möchtest, installiere sie mit einem Zwei-Container-Setup neu (discourse-setup --two-container). Am einfachsten ist es, dies auf einem neuen Server zu tun, aber es gibt Themen, wie man dies nachträglich ändert.

Es ist mit ziemlicher Sicherheit eine schlechte Idee. Nutze den Daten-Explorer oder die API.

7 „Gefällt mir“

Was sind die guten Inhalte von config/database.yml? Können Sie bitte ein Produktionsbeispiel teilen?

Ich sehe dort keine Datenbank und Ruby schlägt bei einigen Aufgaben fehl (wie z. B. export override_translations). Ich vermute, dass meine Installation etwas kaputt hat.

Derzeit sehe ich nur die Entwicklungs- und Testdatenbank in config/database.yml und möchte sie tatsächlich an das aktuell funktionierende Datenbankschema anpassen :slight_smile:

Ich kann die Produktionsdatenbank innerhalb von psql auf einer containerisierten Discourse-Instanz lesen.

Wie haben Sie Discourse installiert?

Welches Problem versuchen Sie zu lösen?

Welche Beweise gibt es, dass etwas falsch ist?

Vielleicht sehen Sie, was ein

rake db:migrate

tun wird?

Der Datenbankname befindet sich in einer Umgebungsvariable.

1 „Gefällt mir“

Ich kann keine benutzerdefinierte Sprache es_XX exportieren und ich vermute, dass dies mit einer falschen Konfiguration zusammenhängen könnte, aber dann sehe ich, dass das Produktionspasswort und der Host in den YML-Dateien nicht deklariert zu sein scheinen.

Ich habe versucht, mit LANG und DISCOURSE_DEFAULT_LOCALE zu spielen, aber das sollte nicht ausreichen.

Derzeit habe ich LANG = en_US.UTF-8 und DISCOURSE_DEFAULT_LOCALE = es (und das erlaubt mir, das Problem mit dem Vertrauenslevel bei benutzerdefinierten Sprachen als Workaround zu beheben).

Ich schätze, das ist keine Standardinstallation.

Ja, das ist es, aber ich glaube, ich habe die Entwicklung mit der Produktion oder so etwas vermischt.

Vielleicht habe ich Probleme mit Emojis in benutzerdefinierten Gebietsschema-Strings, das werde ich überprüfen.