На время проведения реконструкции сайт переведён в режим "ТОЛЬКО ЧТЕНИЕ" (Read only). Приносим свои извинения!
MaxHub
Полезности по Maxsite CMS

Одна БД для нескольких копий MaxSite. Это возможно?

Вопросы-ответы / 10 апреля 2015

Приветствую все сообщество и каждого в отдельности

wink

Ранее ставил себе на локальный сервер больше одного экземпляра "макса", используя при этом одну БД. Собственно говоря, на локалке это особого смысла не имеет, а на хостинге у меня в пакете ограниченное количество баз, поэтому там - имеет смысл, потому испытывал этот "функционал" на локалке.

И вот что вышло:

  • версия 0862 позволяет это - при установке есть возможность ввести префикс для таблиц и таким образом в одной БД расположить данные для разных сайтов на максе;
  • а сегодня ставил версию 0863 и вижу, что она тоже использовала префикс, но при этом я его не вводил, а префикс по-умолчанию 'mso_'...
  • Для меня это означает, что при попытке установить следующий сайт на максе в ту же БД, имеющиеся данные затрутся!

    И вот вопрос:

    Я пропустил (не заметил) эту настройку - ввод префикса? Или ее действительно уже нет?!

    Кто знает наверняка?

    Подозреваю, что Илья...

    П.С. картинок для такого вопроса у меня нет...

    я админ и автор указанного сайта

    Сайт

    Комментариев: 6
    1. Подозреваю, что Илья...

      Я тут не при чём smile

      Я пропустил (не заметил) эту настройку - ввод префикса?

      При установке движка файл /application/config/database.php вам нужно заполнять руками, так? Ну так там опция задания префикса осталась и доступна для правки:

      $db['default']['dbprefix'] = 'mso_';

      Какой зададите префикс (ещё до запуска /install), такой и будет использоваться в последствии.

    2. Спасибо за ответ, Илья!

      оказывается все-таки - Вы знаете smirk

      а подскажите пожалуйста - возможно ли теперь после установки это исправить - добавить префикс и как это сделать?

    3. возможно ли теперь после установки это исправить - добавить префикс и как это сделать?

      Никогда такого не делал, но теоретически это вполне возможно. Для этого необходимо сделать следующее:

      1. Поменять префикс в /application/config/database.php как я указывал выше.

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

      Это должно помочь.

    4. Илья, спасибо за ответ и желание помочь!

      Я попробовал так, получил ошибку:

      Fatal error: Call to a member function result() on a non-object in C:\OpenServer\domains\books\application\maxsite\common\common.php on line 942

    5. Я попробовал так, получил ошибку:

      Ошибка возникла в функции сброса кеша опций mso_refresh_options. Очевидно вы что-то не так сделали с переименованием таблиц. Кстати, авторизацию на подопечном сайте тоже нужно сбросить для верности (т.е. сделать выход).

    6. Понятно.

      Выход не делал.

      Сайт пока без данных, решил, что самое лучшее - все пересоздать заново с нормальным префиксом.