ps-simpla Опубликовано 26 ноября, 2020 Жалоба Поделиться Опубликовано 26 ноября, 2020 Добрый вечер форумчане, подскажите может кто то реализовывал данный метод: Надо подключиться к двум базам данных первая для товаров, заказов, брендов, категорий, свойств, картинок, варианты, комментариев вторая для всего остального (настройки, страницы, блог, дизайн и т.д.) P.S. Зачем? Надо ))) если серьезно то более 12 магазинов в них все товары, заказы, бренды, категории свойства, картинки, варианты, комментарии одинаковые будут В одну базу данных запихивать все таблицы с разными префиксами не вариант Кто может подсказать как это сделать? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 26 ноября, 2020 Жалоба Поделиться Опубликовано 26 ноября, 2020 Можно, например, для всего остального в таблицы добавить site_id или что-то вроде и выбирать по нему для разных сайтов. Цитата Ссылка на сообщение Поделиться на другие сайты
DaVinci Опубликовано 26 ноября, 2020 Жалоба Поделиться Опубликовано 26 ноября, 2020 (изменено) нужно переключатся между базами или держать одновременное подключение к множествам баз? если переключатся то https://github.com/pikusov/Simpla/blob/9fefafa38dc739b4348b4a2940cba8bc8e4363ed/api/Database.php#L46 в этом месте достаточно подменять параметры подключения Изменено 26 ноября, 2020 пользователем DaVinci Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 26 ноября, 2020 Жалоба Поделиться Опубликовано 26 ноября, 2020 (изменено) Делал когда то. Расписывать сильно нет времени. Все что нужно есть в архиве. Из основного - нужно будет переименовать 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 Изменено 28 ноября, 2020 пользователем yr4ik Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 27 ноября, 2020 Жалоба Поделиться Опубликовано 27 ноября, 2020 (изменено) Делалось когда так (идейно неправильно, но весьма быстро и легко): 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()); Изменено 27 ноября, 2020 пользователем phukortsin Цитата Ссылка на сообщение Поделиться на другие сайты
Kami Опубликовано 27 ноября, 2020 Жалоба Поделиться Опубликовано 27 ноября, 2020 В 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. А там дальше останется только создать базы. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.