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öchten Sie das tun? Normalerweise ist der Data Explorer ein besserer Weg, dies zu tun.

Standardmäßig ist die Datenbank nicht an einen Port gebunden.

Wenn Sie Ihre Datenbank wirklich der Welt zugänglich machen möchten, installieren Sie sie mit einer Zwei-Container-Einrichtung neu (discourse-setup --two-container). Am einfachsten ist es, dies auf einem neuen Server zu tun, aber es gibt Beiträge dazu, wie man umsteigt.

Es ist so gut wie sicher eine schlechte Idee. Verwenden Sie Data Explorer oder die API.

Siehe Run Data Explorer queries with the Discourse 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.