Перейти к содержанию

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

В общем то имеется необходимость в подключении второй базы данных к одному 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);
 
Однако товары он не транслирует с второй

 

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


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

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

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


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

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

 

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

 

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

 

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

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


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

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

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


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

Слить в одну

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

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


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

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

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


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

Слить в одну

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

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

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


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

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

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

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

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


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

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

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

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

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

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


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

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

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


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

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

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

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

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.