これまでに読んだのは、マルチサイトを構成してさまざまなテーブルを使用し、そのマルチサイト構成内の他のサイトと任意のテーブルを共有できることです。
私の質問は、この設定を取得できるかどうかです:
結局、それはマルチサイトの質問ではないかもしれませんが、要するに...
Drupalサイトがそのテーブルのいくつかに2つの異なるデータベースを使用することは可能ですか?どうやって?
サイトで使用するsettings.phpファイルでは、データベーステーブルごとに異なるプレフィックスを指定できます。
$databases['default']['default'] = array(
'driver' => 'mysql',
'database' => 'databasename',
'username' => 'username',
'password' => 'password',
'Host' => 'localhost',
'prefix' => array(
'default' => 'main_',
'users' => 'shared_',
'sessions' => 'shared_',
'role' => 'shared_',
'authmap' => 'shared_',
),
'collation' => 'utf8_general_ci',
);
次のようなコードを使用して、さまざまなデータベースまたはスキーマを参照することもできます。
$databases['default']['default'] = array(
'driver' => 'mysql',
'database' => 'databasename',
'username' => 'username',
'password' => 'password',
'Host' => 'localhost',
'prefix' => array(
'default' => 'main.',
'users' => 'shared.',
'sessions' => 'shared.',
'role' => 'shared.',
'authmap' => 'shared.',
),
'collation' => 'utf8_general_ci',
);
最後のスニペットと前のスニペットの違いは、接頭辞に使用される最後の文字がアンダースコアではなくドットであることです。これにより、データベースエンジンは、現在設定されているデータベース/スキーマではなく、別のデータベース/スキーマを選択します。
より明確にするために、データベースエンジンがローカルホストで実行されているMySQLであることを示したコードでは、変更点は、usersテーブルの場合、Drupalがdatabasenameデータベースの代わりにsharedデータベースを使用することです。
私の知る限り、これはDrupal 7以上で有効です。 Drupalに付属する default.settings.php ファイルにあるコメントでは、同じtrickは報告されません。6。
default.settings.php ファイルに表示されるコメント。