2009-09-21 3 views
1

Я работаю над проектом, который разделен на несколько модулей. Каждый модуль имеет собственную независимую базу данных в mysql, но теперь модули должны получать данные между ними. Например, мы собираемся разработать новый модуль «admin», и каждый другой модуль должен получить доступ к данным в базе данных «admin». Я знаю, что я могу сделать запрос какКак получить доступ к данным между базами данных в mysql?

select * from admin.table 

для получения данных из другой базы данных, но каждый модуль (и новый модуль «администратора») создаются в CakePHP. Я думаю, что одним из возможных решений является использование чего-то вроде синонимов (например, в Oracle или SQL Server), но MySQL его не поддерживает. У кого-то есть лучшая идея? Благодаря

+0

Различные базы данных на одном сервере или разные базы данных на разных серверах? –

+0

Различные базы данных на одном сервере – segaco

ответ

0

У меня есть чувство, что CakePHP может обрабатывать отношения между базами данных. Попробуйте установить $useDbConfig для каждой модели для подключения к соответствующей базе данных. CakePHP должен генерировать несколько запросов (по крайней мере один на подключение к базе данных) и объединять результаты для вас. Этот подход должен хорошо работать для простых отношений, но может быть не полная поддержка таких отношений, как HABTM.

0

Как об использовании просмотров:

create view admin_table as select * from admin.table 

Тогда вам просто необходимо установить $tableName в admin_table.

0

Может быть, я ошибаюсь, но я думаю, что выполнение запроса основан на

select * from database.owner.table ... и подразумеваемая владелец бы «ДБО» (владелец базы данных). Итак, вы МОЖЕТЕ сделать следующее ...

выберите a1. , b1. из базы данных1.table1 a1, database2.table2 b1, где a1.fld1 = b1.fld1 ...

Смежные вопросы