Изменить строку подключения к базе данных Umbraco для мультитенантности

Да, вы можете: взять эту служебную функцию, которую я написал сегодня:

function shangMergeCol() {
  tcol= db.getCollection(arguments[0]);
  for (var i=1; i<arguments.length; i++){
    scol= db.getCollection(arguments[i]);
    scol.find().forEach(
        function (d) {
            tcol.insert(d);
        }
    )
  }
}

Вы можете передать этой функции любое количество коллекций, первое из которых будет целевым. Все остальные коллекции являются источниками, которые должны быть перенесены на целевую.

0
задан Developer 16 January 2019 в 13:07
поделиться

1 ответ

Я не думаю, что Умбрако сработает, если вы попытаетесь это сделать. Когда вы запускаете Umbraco в качестве мультитенантной установки, он обычно использует одну и ту же БД для всех сайтов, которые вы запускаете при установке.

Проблема, с которой вы столкнетесь, заключается в том, что Umbraco будет генерировать свои файлы кэша и т. Д., Которые питают сайт от БД, поэтому каждый раз, когда вы переключаете БД, эти файлы кэша будут регенерироваться на основе НОВОЙ базы данных, поэтому ВСЕ посты будут отображаться содержимое последней использованной базы данных.

Если вам нужны специфичные для клиента данные, у вас всегда может быть база данных SEPARATE для каждого клиента, в которой хранятся специфичные для этого клиента данные в дополнение к основной базовой базе данных, которую использует Umbraco.

0
ответ дан Tim 16 January 2019 в 13:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: