сайт на двух базах ошибка

Главные вкладки

Аватар пользователя parch parch 27 января 2010 в 0:49

Пытаюсь разделить базу данных сайта, чтобы подготовить его к мультисайдингу. Есть сайт на поддомене и у него база mast4_master с префиксом сool_ . Вынесла таблицы с пользователями в отдельную базу mast4_common, но сайт к ним не обращается. Может кто-нибудь подсказать, что сделано неправильно?

$db_prefix = array(
'default' => 'mast4_master.сool_',
'users' => 'mast4_common.',
'sessions' => 'mast4_common.',

'authmap' => 'mast4_common.',
);

$db_url = 'mysql://user:парольlocalhost/mast4_master';
$db_prefix = 'сool_';

Пишет что-то такое:
Warning: Table 'mast4_master.сool_users' doesn't exist query: SELECT u.*, s.* FROM сool_users u INNER JOIN сool_sessions s ON u.uid = s.uid WHERE s.sid ...

Комментарии

Аватар пользователя Alex_R Alex_R 27 января 2010 в 10:27

Попробуйте написать
$db_url = 'mysql://user:парольlocalhost/mast4_master';

$db_prefix = array(
'default' => 'mast4_master.сool_',
'users' => 'mast4_common.сool_',
'sessions' => 'mast4_common.сool_',

'authmap' => 'mast4_common.сool_',
);

а сторчку
$db_prefix = 'сool_'; убрать.

ИМХО должно заработать. Ну и убедиться в наличии нужных таблиц с нужными префиксами в нужных базах.

Аватар пользователя Alex_R Alex_R 28 января 2010 в 0:39

А кэш после разделения баз чистили?

Смотрим внимательно:
'users' => 'mast4_common.',
а в ошибке почему то эта таблица ищется не в базе mast4_common, а в mast4_master, где ее как я понимаю уже нет.
Поскольку в конфиге все прописано правильно, а сайт обращается к несуществующей в базе таблице, то нужно смотреть почему так происходит и в какой момент.
Скорее всего старая информация в кэше, но может быть какой нибудь дополнительный модуль, работающий с таблицей users некорректно работает с базой - я с подобным столкнулся с модулем computed_field, но он с данной таблицей точно не работает.