Eine Multisite-Entwicklungsumgebung einrichten

Es ist möglich, Discourse im Multisite-Modus in der Entwicklung auszuführen. Ein Multisite-Server verwendet eine andere Datenbank und einen anderen Hostnamen für jede von ihm bediente Site. Dies ist nützlich, wenn Sie eine Funktion oder ein Plugin entwickeln, das Multisite-kompatibel sein soll.

Alles, was Sie tun müssen, ist, eine entsprechende config/multisite.yml-Datei hinzuzufügen. Z.B.:

---
alternate:
  adapter: postgresql
  database: discourse_alternate
  host_names:
    - alternate.localhost

Um Rake-Tasks gegen diese zusätzlichen Sites auszuführen, fügen Sie einfach die Umgebungsvariable RAILS_DB mit dem Namen der Site hinzu, die Sie anvisieren:

RAILS_DB=alternate rake db:create
RAILS_DB=alternate rake db:migrate

Einige Rake-Tasks sind speziell, da sie bei nicht gesetzter RAILS_DB in der Entwicklung auf allen Sites ausgeführt werden:

rake db:create
rake db:migrate

Im Allgemeinen zielen Rake-Tasks ohne gesetzte RAILS_DB jedoch auf die Standard-Site ab.

Um auf die Site zuzugreifen, müssen Sie ember-cli mit der Option --forward-host ausführen.

bin/ember-cli -u --forward-host

Sie können Ihre neue Site nun unter http://alternate.localhost:4200 aufrufen, aber falls dies nicht möglich ist, müssen Sie möglicherweise alternate.localhost zu Ihrer /etc/hosts-Datei oder einem Äquivalent hinzufügen.


Dieses Dokument wird versionskontrolliert – schlagen Sie Änderungen auf github vor.

12 „Gefällt mir“