我想将Drupal连接到外部数据库,我需要指定模式,否则Drupal模式模块默认连接'公共'模式。我尝试了,没有成功,使用以下代码:
$databases['conservation']['default'] = array(
'database' => 'conservation',
'schema' => 'projects_test1',
'username' => 'xxxxxxxxxxx',
'password' => 'xxx',
'host' => 'xxx.xxx.xxx',
'port' => '5432',
'driver' => 'pgsql',
'prefix' => array(
'default' => 'projects_test1.',
'users' => 'shared.',
'sessions' => 'shared.',
'role' => 'shared.',
'authmap' => 'shared.',
)
);
我已经做了一些谷歌搜索,但还没有发现任何人试图这样做。谢谢卢卡
您可以尝试使用以下代码将Drupal站点连接到外部数据库:
$databases['conservation']['default'] = array(
'database' => 'conservation',
'username' => 'xxxxxxxxxxx',
'password' => 'xxx',
'host' => 'xxx.xxx.xxx',
'port' => '5432',
'driver' => 'pgsql',
'prefix' => array(
'default' => 'projects_test1.',
'users' => 'shared.',
'sessions' => 'shared.',
'role' => 'shared.',
'authmap' => 'shared.',
)
);
上面的代码指定了Drupal的保存DB配置。因此,当你需要查询模块中的其他数据库时,你必须使用这个函数
切换到它的连接<?php
db_set_active('your_other_db');
?>
完成后,必须关闭它并恢复到默认数据库连接,以便Drupal能够访问它的数据
<?php
db_set_active();
?>