テスト環境でのDBの切り替え方

Permalink2008/07/02 17:31:53
カテゴリ: データベース

データベースの接続情報は app/config/database.php に記載するのですが、ここの値を本番環境とテスト環境で書き換えるのは手間ですし、間違ってアップしてしまう可能性もあるので、できればやりたくありません。

そんな時には、CakePHP 環境に応じてDBの設定を変えるが参考になります。

色々な方法が紹介されていますが、下記の方法がやりやすいかなと思います。

1.httpd.conf に下記の内容を追加

SetEnv CAKE_DB_CONFIG test


2.app/app_model.php に下記の内容を追加

<?php
class AppModel extends Model
{
    function __construct($id = false, $table = null, $ds = null)
    {
        $this->useDbConfig = empty($_SERVER['CAKE_DB_CONFIG']) ? $this->useDbConfig : $_SERVER['CAKE_DB_CONFIG'];
        parent::__construct($id, $table, $ds);
    }
}


これでサーバー側で利用する DB の接続情報を判断して取得してくれるので、開発側としては意識せずに取り組めます。


関連記事


    この記事へのトラックバック アドレス

    コメント, トラックバック:

    コメント: tatata [訪問者] Email
    上記通りにやってみたのですが、$defaultがどうしても読み込まれるようで上手くいきません。
    他に設定する箇所はありますか?
    authcomponentを使ってログイン機能を使っているのでstartupでつまずいてるんでしょうか?
    (関係ないですよね・・・)
    Permalink永続的リンク 2009/11/06 @ 03:06
    コメント: cakephp [メンバー] Email
    tatataさん
    詳しい状況が分かりませんので、難しいところですが、
    ・__constructの処理が呼び出されているか
    ・$_SERVER['CAKE_DB_CONFIG']で値が取得できているか
    のあたりを見てみると解決につながるかもしれません。
    Permalink永続的リンク 2009/11/06 @ 08:49

    コメントを残す:

    頂いたメールアドレスはこのサイト上には表示されません
    頂いたURLは表示されます。

    許可される XHTML タグ: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
    (改行が自動で <br /> になります)
    (名前、メールアドレス、URLを記憶する Cookie を発行します)
    (ユーザがメッセージ・フォームを通してあなたに連絡することを許可します (あなたのメール・アドレスは表示されません))

    プロフィール
    愛知県名古屋市在住のあつ@株式会社一六社(いちろくしゃ)スタッフ

    あつへのメッセージはSkypeを使ってテキストメッセージでどうぞ
    あつ

    CakePHPに関する情報をまとめていきます。

    開発スピードがアップできればうれしいです。

    >>連絡はこちらへどうぞ


    CakePHP関連のブックマーク


    CakePHP最新版
    CakePHP 1.2.3.8166


    CakePHPの書籍

    CakePHPによる実践Webアプリケーション開発

    CakePHP1.2で作成する人にオススメ。
    とても参考になります。

    まるごとPHP!(vol.2)

    安藤さんの解説が載っています。
    AmazonのPagination部分は参考になります。

    CakePHPによるWebアプリケーション開発

    まだ読んだことありません

    CakePHPポケットリファレンス
    CakePHPポケットリファレンス
    CakePHP1.2 でやるなら、これがあると何かと便利♪

    CakePHP徹底入門
    CakePHP徹底入門
    CakePHP1.2 を今から始めるならここから

    Fast CakePHP
    Fast CakePHP
    シンプルでわかりやすい CakePHP の入門書

    CakePHPガイドブック
    CakePHPガイドブック
    CakePHP1.1 ではとても参考にした CakePHP 最初の入門書

    アーカイブ

     RSS2.0

    powered by
    b2evolution
    ブログ一六社

    Geo Visitors Map