[FuelPHP]デフォルト以外のデータベース設定を使用する

Posted 2012年4月18日 | Auther dada | Category PC・デジタル | Tag タグ: ,
Twitterにツイートする Facebookでシェアする はてなブックマーク

【追記】正しい方法を教えていただいたので修正記事を書きました。

データベースの接続設定を default から任意の名前の設定に切り替える方法。

解決方法というより、こうしたら出来ましたーというメモです。
本当はもっとスマートなやり方があると思います。

FuelPHPでデータベースに接続する設定は fuel/app/config/development/db.php に書き込みます。

return array(
  'default' => array(
    'connection'  => array(
      'dsn'       => 'mysql:host=localhost;dbname=testdb',
      'username'  => 'dbuser',
      'password'  => '1234'
    )
  )
);

しかし本番環境とテスト環境では設定が全く変わるものです。
「honban」という設定を追加します。

return array(
  'honban' => array(
    'connection'  => array(
      'dsn'       => 'mysql:host=dbserver.hoge.com;dbname=honbandb',
      'username'  => 'honbanuser',
      'password'  => '7890'
    )
  ),
  'default' => array(
    'connection'  => array(
      'dsn'       => 'mysql:host=localhost;dbname=testdb',
      'username'  => 'dbuser',
      'password'  => '1234'
    )
  )
);

次に fuel/app/config/db.php を編集します。
おそらく初期状態ではこんな感じになってると思います。

return array(
  'active' => 'default',

  'default' => array(
    'type'        => 'pdo',
    'connection'  => array(
      'persistent' => false,
    ),
    'identifier'   => '`',
    'table_prefix' => '',
    'charset'      => 'utf8',
    'caching'      => false,
    'profiling'    => false,
  ),

「active=>default」を「active=>honban」に変更し、配列「default」を複製して「honban」にします。
配列の中身は書き換えません。

return array(
  'active' => 'honban',

  'honban' => array(
    ~略~
    'profiling'    => false,
  ),

  'default' => array(
    ~略~
    'profiling'    => false,
  ),

とりあえずこれでDB設定「honban」が使えるようになりました。
本当はもっとスマートなやり方あると思いますので、ご存じの方は御一報ください。^^;

関連する記事

No Comments »

No comments yet.

Leave a comment

カテゴリー