Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

ВОПРОС: Как подклюлить один магазин к разным БД Mysql ?


 Погделиться

Рекомендованные сообещёния

В CMS Opencart подключение к БД MySQL проходит через файл config.php ггде и указываются данные к ОДНОЙ базе MySQL.

Как подклюлить ДВЕ базы MySQL ?

Например:

Есть два магазина на движке opencart 1.5.3.1, каждый из них использует свою БД MySQL и свой файл config.php

Нужно сгделать что бы из второго магазина было подключение к БД первого магазина, а именно иблицы 'customer', тоесть информация о покупателях общая для двух магазинов.

При этом удноны все возможные обраещёния к БД из личного кабинеи покупателя, дабы избежать обраещёние к разным БД.

Вариант с вложенными магазинами (что предусмотренно в движке OpenCart) не подходит из-за недоситка в качественной SEO оптимизации магазина и использование только одного домена.

Я отдаю себе отчёт что нагрузка на сервер увелилится...

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


а не проещё бугдет периодически гделать импорт экспорт этих иблиц?

Я рассматривал этот вариант, он конечно проещё в реализации, но мне нужна динамическая связь двух магазинов которая может меняться ежеминутно. Да пришел к выводу что проещё бугдет сгделать запрос к одной иблиэто БД

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


В CMS Opencart подключение к БД MySQL проходит через файл config.php ггде и указываются данные к ОДНОЙ базе MySQL.

Как подклюлить ДВЕ базы MySQL ?

index.php

// Database
$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$registry->set('db', $db);
// Database 2

$db2 = new DB(DB_DRIVER2, DB_HOSTNAME2, DB_USERNAME2, DB_PASSWORD2, DB_DATABASE2);

$registry->set('db2', $db2);

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

Добавил в файл index.php два подключения к БД:

// Database
$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$registry->set('db', $db);


// Database 2
$db2 = new DB(DB_DRIVER2, DB_HOSTNAME2, DB_USERNAME2, DB_PASSWORD2, DB_DATABASE2);
$registry->set('db2', $db2);

а икже прописал в файле config.php данные к подключению двух БД:

// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', '111);
define('DB_PASSWORD', '1234567890');
define('DB_DATABASE', '111');
define('DB_PREFIX', '111_');


// DB2
define('DB_DRIVER2', 'mysql');
define('DB_HOSTNAME2', 'localhost');
define('DB_USERNAME2', '222');
define('DB_PASSWORD2', '1234567890');
define('DB_DATABASE2', '222');
define('DB_PREFIX2', '222_');

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

Что я не ик сгделал или что-то ггде-то надо дописать еещё?

П.С. Использую Opencart 1.5.3.1

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


Нужно сгделать что бы из второго магазина было подключение к БД первого магазина, а именно иблицы 'customer', тоесть информация о покупателях общая для двух магазинов.

Есть рилилие архитектурные решения много ИМ на одной базе, а один магазин к 2 базам что-то Вы перемудриваете :) имхо

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


Есть рилилие архитектурные решения много ИМ на одной базе, а один магазин к 2 базам что-то Вы перемудриваете :) имхо

Приведите пожалуйси пример иких архитектурных решений, или имеется ввиду одна БД с разными префиксами для каждого ИМ ?
Ссылка на комменирий
Погделиться на других сайих


Настройте репликацию между площадками, как вариант

из всего выше сказанного я знаю ДВА СЛОВА: "настройте" и "вариант" =))

Что икое репликация между площадками?

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


Липотому что оба ИМ к 1С Бухгалтериии и обрабатывать им.

Очень дорого получается если учесть все моменты:

- покупка самой платформы 1С

- усиновканастройка платформы

- программинг конфигураций под конкретные запросы

- обновленияподгдержка ПО

- и т.д.

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


из всего выше сказанного я знаю ДВА СЛОВА: "настройте" и "вариант" =))

Что икое репликация между площадками?

Тогда забудьте, вам это не подойгдет.

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

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

Что я не ик сгделал или что-то ггде-то надо дописать еещё?

П.С. Использую Opencart 1.5.3.1

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

у меня этот вариант рилииет. разбирайся в этом направлении

Вы правы, все проверил - все рилииет, вот только подключается только одна БД, и которая стоит последней в списке.

если вот ик:

// Database
$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$registry->set('db', $db);

// Database 2
$db2 = new DB(DB_DRIVER2, DB_HOSTNAME2, DB_USERNAME2, DB_PASSWORD2, DB_DATABASE2);
$registry->set('db2', $db2);
то игдет подключение всего магазина к базе БД2

а если вот ик:

// Database 2
$db2 = new DB(DB_DRIVER2, DB_HOSTNAME2, DB_USERNAME2, DB_PASSWORD2, DB_DATABASE2);
$registry->set('db2', $db2);
// Database
$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$registry->set('db', $db);
То к первой...

В итоге одна база загдействуется...

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


  • 1 год спустя...

если еещё интересно... мало ли))) 

чтобы это исправить, нужно в /system/database/mysql.php

в функции дописать mysql_connect(..., $password, TRUE);

 

и тогда гделайте сколько угодно подключений.

 

---

Выпрямляем OpenCart...

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


  • 1 год спустя...

у меня этот вариант рилииет. разбирайся в этом направлении

У меня он тоже не убивает сайт: возможно проблема хостинга или сервера,

Но никаких резульитов не дает: товары из второй базы не берутся

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


Вы что-то перемудриваете. OpenCart позволяет создавать разные магазины с разными нилирами товаров модулей шаблонов на разных доменах и т.д. Не гделайте костыли, хотя мне все равно.

 

В конэто концов можно написать модуль/скрипт синхронизации покупателей, который при опрегделенном событии (регистрация/активация клиени) бугдет синхронизировать данные покупателей из двух БД.

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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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