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

itmades    1

В общем то имеется необходимость в подключении второй базы данных к одному opencart.

В config.php прописал

// DB 2

define('DB_DRIVER2', 'mysqli');
define('DB_HOSTNAME2', 'localhost');
define('DB_USERNAME2', 'itmadetq_123456');
define('DB_PASSWORD2', '123456');
define('DB_DATABASE2', 'itmadetq_123456');
define('DB_PORT2', '3306');
define('DB_PREFIX2', 'oc_');
в index.php
// Database 2
$db2 = new DB(DB_DRIVER2, DB_HOSTNAME2, DB_USERNAME2, DB_PASSWORD2, DB_DATABASE2);
$registry->set('db2', $db2);
 
Однако товары он не транслирует с второй

 

Поделиться сообщением


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

Понимаю, что тему уже не один раз поднимали, однако исчерпывающих ответов не было

Поделиться сообщением


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

Исчерпывающих ответов и не будет, уж очень кардинальные изменения потребуются.

 

Теперь как минимум нужно в каждом запросе указывать, с какой БД "сосать"...

 

А насколько отличаются структуры двух БД?

 

Может, проще сделать структуру одинаковой и периодически синхронизировать две БД? А обращаться только к одной...

Поделиться сообщением


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

Я так понимаю, обе БД одинаковые - в таком случае, что мешает на самом деле слить две БД в одну? Работа с двумя БД подразумевает перепиливание всего магазина целиком, и плюс отказ от совместимости со всеми существующими модулями.. Лучше поискать другое решение проблемы.

Поделиться сообщением


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

Слить в одну

Добавив другой префикс.

Поделиться сообщением


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

Действительно, думаю, смотря какая задача стоит перед человеком. Слияние в одну интересно. Ситуация - посмотреть заказы от покупателя, покупательв базе с префиксом ос_ а заказы в базе с префиксом ос2_ как итог - нужно менять модель, или писать варианты выборки. Или нет?

Поделиться сообщением


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

Слить в одну

Добавив другой префикс.

Разные префиксы, аналогично двум БД, потребуют переписывания всего.

Поделиться сообщением


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

К сожалению префикс Константа Которую не переопределить на момент выполнения кода.

Но отловить на момент ее определения возможно

Необходимо понять, что нужно ТС

Поделиться сообщением


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

Но можно держать два линка

db = new DB(для одной)

db1 = new DB(для второй)

И .. опять же понять, что надо ТС, в какой момент ему нужна вторая база.

Поделиться сообщением


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

:-D  Человеку может нужно раз в день 5 полей из 1 таблицы, а тут уже обсуждение изменений в движке пошли )

Поделиться сообщением


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

Однако товары он не транслирует с второй

Я так понял, человек хочет чтоб две базы работали одновременно, по крайней мере товары грузились с 2х сразу.. Странно это всё, на мой взгляд :ugeek:  И в соседней теме тоже это обсуждают... Интересен сам смысл этой затеи, что к такому привело? Автор, отзовись :-)

Изменено пользователем efremovav

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу