web-dev-qa-db-ja.com

「db_set_active」で使用できるすべてのデータベースを取得する方法

Drushを使用してすべての可能なデータベース接続を一覧表示する方法はありますか? settings.phpにdb接続が記述されていないアプリケーションをデバッグしています。可能な接続をすべて見つけることができません。そしてコードで私は見ることができます

$database = db_set_active('test');

Test、test1、test2のようなdb接続名をリストする方法はありますか?どんな助けでもありがたいです。

1
meen

すべてのデータベース接続文字列は、グローバル$ databases変数にあります。

global $databases;
dpm($databases);

ドラッシュで:

drush php-eval 'global $databases; print_r($databases);' 
4
arpitr

Drushがそれを実行できるかどうかはわかりませんが、Drupal 6では、グローバル変数$db_urlコード内でgrepなどを使用します。

以下のドキュメントの「その場で複数のデータベースを設定する」セクションでは、Drupal 7とDrupal 6以前の両方)での接続の設定方法について説明しています。

https://www.drupal.org/docs/7/creating-custom-modules/howtos/how-to-connect-to-multiple-databases-within-drupal

たとえば、Drupal 6の場合、代替の「mydb」接続を定義するために次のように見つけることができます。

//set up the new database value
$db_url['mydb'] = 'mysql://user:pwd@localhost/anotherdb';
0
dinopmi