FuelPHPで複数データベースの切り替え
FuelPHPで複数データベースを切り替える方法
FuelPHPでは複数データベースの切り替えが、CI同様、簡単に設定出来ます。
参考)
http://docs.fuelphp.com/classes/database/usage.html
fuel/app/config/db.php
まずは、DBのベース設定に対し、新しいデータベースグループを追加します。
<?php return array( 'active' => 'default', 'default' => array( ... ), // 追加DB 'another_db' => array( 'type' => 'pdo', 'connection' => array( 'persistent' => false, ), 'identifier' => '`', 'table_prefix' => '', 'charset' => 'utf8', 'enable_cache' => true, 'profiling' => false, ),
fuel/app/config/development/db.php
次に、新しいデータベースグループの接続情報を設定します。
(productionを使用する場合は『fuel/app/config/production/db.php』に記述)
<?php return array( 'default' => array( ... ), 'another_db' => array( 'connection' => array( 'dsn' => 'mysql:host=localhost;dbname=another_db', 'username' => 'dbuser', 'password' => 'dbuserpassword', ), )
クエリ実行
execute時に、上で設定したデータベースグループ名を指定すれば、指定のデータベースへクエリを発行します。
当然、何も指定しない場合はactiveで指定しているデータベースグループが使用されます。
DB::query('SELECT * FROM users')->execute(); DB::query('SELECT * FROM users')->execute('another_db');
※Model_Crudを使っている場合、『$_connection』の設定だけで行けるみたいです
FuelPHPで1サイトを作ってみて気が付いた点など
ErogameScape -エロゲー批評空間- Blog : FuelPHPのmodel_CRUDで接続するDBを切り替える方法
最近のFWは全部こんな感じ?