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.