Настройка среды разработки для мультисайта

Запуск Discourse в режиме мультисайта в среде разработки возможен. Сервер мультисайта использует отдельную базу данных и имя хоста для каждого обслуживаемого сайта. Это полезно, если вы разрабатываете функцию или плагин, который должен быть совместим с мультисайтовой архитектурой.

Вам достаточно добавить соответствующий файл config/multisite.yml. Например:

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

Чтобы запускать задачи Rake для дополнительных сайтов, просто установите переменную окружения RAILS_DB с именем целевого сайта:

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

Некоторые задачи Rake являются специальными: если в среде разработки не указана переменная RAILS_DB, они выполняются для всех сайтов:

rake db:create
rake db:migrate

В целом, однако, запуск задач Rake без установленной переменной RAILS_DB будет направлен на сайт по умолчанию.

Чтобы получить доступ к сайту, запустите сервер разработки:

bin/dev

Теперь вы должны иметь возможность открыть ваш новый сайт по адресу http://alternate.localhost:3000. Если это не работает, возможно, вам потребуется добавить alternate.localhost в файл /etc/hosts или его аналог.


Этот документ находится под контролем версий — предлагайте изменения на GitHub.

12 лайков