Немає конкретного місця, де можна поставити цей код (гачок чи модуль), ви просто покладете його там, де вам потрібно.
Таким чином, він повинен проходити безпосередньо перед вашими запитами в іншій базі даних і відразу після встановлення БД за замовчуванням.
Якщо весь ваш модуль буде покладатися на зовнішній БД, просто покладіть його на початок першої функції, що викликається для вашого модуля, і в кінці останньої функції.
Звичайно, кожна з ваших функцій повинна виконуватися на зовнішній БД, і нічого не повинно мати запит на базу даних за замовчуванням без переключення назад.
Цей код не вдасться:
db_set_active('YourDatabaseKey');
$result = db_query('SELECT ...'); //Your own queries on the external DB.
$node = node_load(123); //This would fail on the external DB.
$result = db_query('SELECT ...'); //Your own queries on the external DB.
db_set_active();
Ви повинні перемикатися вперед і назад:
db_set_active('YourDatabaseKey');
$result = db_query('SELECT ...'); //Your own queries on the external DB.
db_set_active();
$node = node_load(123); //Query made on the default Drupal DB.
db_set_active('YourDatabaseKey');
$result = db_query('SELECT ...'); //Your own queries on the external DB.
db_set_active();