Перейти к содержанию
Официальный форум поддержки Simpla

Подключение Simpla к 2м базам данных


Рекомендуемые сообщения

Добрый вечер форумчане, подскажите может кто то реализовывал данный метод:

Надо подключиться к двум базам данных

первая для товаров, заказов, брендов, категорий, свойств, картинок, варианты, комментариев
вторая для всего остального (настройки, страницы, блог, дизайн и т.д.)


P.S. Зачем? Надо ))) если серьезно то более 12 магазинов в них все товары, заказы, бренды, категории свойства, картинки, варианты, комментарии одинаковые будут 

В одну базу данных запихивать все таблицы с разными префиксами не вариант

Кто может подсказать как это сделать? 

Ссылка на сообщение
Поделиться на другие сайты

Можно, например, для всего остального в таблицы добавить site_id или что-то вроде и выбирать по нему для разных сайтов.

Ссылка на сообщение
Поделиться на другие сайты

нужно переключатся между базами или держать одновременное подключение к множествам баз?

если переключатся то https://github.com/pikusov/Simpla/blob/9fefafa38dc739b4348b4a2940cba8bc8e4363ed/api/Database.php#L46 в этом месте достаточно подменять параметры подключения

Изменено пользователем DaVinci
Ссылка на сообщение
Поделиться на другие сайты

Делал когда то. Расписывать сильно нет времени. Все что нужно есть в архиве.

Из основного - нужно будет переименовать config/config.php в config/config.cfg и в нем закомментировать секции (все что идет в скобках ;[xxx]) - для примера навсяк кинул. После этого расширяться возможности. Можно будет для отдельных хостов делать свои конфиги


Примеры в папке config

Параметры БД в database.cfg

simpla.db_server - simpla (что начинается с simpla - основная БД) 

К ней можно обращаться:

$this->db->simpla->query(xxxx);
$this->db->query(xxxx);

далее создаем какие нам нужно (в примере):

manticore.db_server = 127.0.0.1;

После чего что бы обратиться к этой базе в коде вызываем 

$this->db->manticore->query(xxxx);

Если такое подключение не нужно - то можно замутить через подконфиги в папке config.host

В Simpla.php добавить новые api и передачу объекта в классы 

// Сохраняем для будущих обращений к нему
self::$objects[$name] = new $class($this);

 

В общем дерзайте


Тут файлы не крепятся. Скачать: 

https://drive.google.com/file/d/1zJLkzCCNYtA_-_az_mQGUzkQvq8_ygA0/view?usp=sharing

 

Изменено пользователем yr4ik
Ссылка на сообщение
Поделиться на другие сайты

Делалось когда так (идейно неправильно, но весьма быстро и легко):

1.  В api/Simpla.php добавить строку
    'db2'         => 'Database2',
2.  Создать api/Database2.php как копию api/Database.php
3.  В api/Database2.php изменить
3.1 class Database2 extends Simpla
3.2 $this->mysqli = new mysqli($this->config->db_server2, $this->config->db_user2, $this->config->db_password2, $this->config->db_name2);
4.  В config/config.php добавить

;Сервер базы данных
db_server2 = "localhost"

;Пользователь базы данных
db_user2 = "u"

;Пароль к базе
db_password2 = "p"

;Имя базы
db_name2 = "simpla2"

5. Использование:

require_once('api/Simpla.php');
$simpla = new Simpla();

$simpla->db->query("SELECT * from __currencies ");
print_r($simpla->db->results());

 $simpla->db2->query("SELECT * from __currencies ");
print_r($simpla->db2->results());

Изменено пользователем phukortsin
Ссылка на сообщение
Поделиться на другие сайты
В 26.11.2020 в 20:55, ps-simpla сказал:

Добрый вечер форумчане, подскажите может кто то реализовывал данный метод:

Надо подключиться к двум базам данных

первая для товаров, заказов, брендов, категорий, свойств, картинок, варианты, комментариев
вторая для всего остального (настройки, страницы, блог, дизайн и т.д.)


P.S. Зачем? Надо ))) если серьезно то более 12 магазинов в них все товары, заказы, бренды, категории свойства, картинки, варианты, комментарии одинаковые будут 

В одну базу данных запихивать все таблицы с разными префиксами не вариант

Кто может подсказать как это сделать? 

Будут реализованы 12 поддоменов? тогда просто сделать 12 баз, и в зависимости от поддомена подключать определенную базу. 

config.php   - site.ru

config-msk.php  msk.site.ru

config-spb.php  spb.site.ru

Проверяем на наличие поддоменов и подставляем префиксы аналогично поддомену, в Api/Config.php. А там дальше останется только создать базы.

 

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...