Database はじめに
はじめに
Fuel はドライバベースのデータベース抽象化レイヤーを提供します。執筆時点のサポート対象ドライバは、 MySQL、MySQLi そして PDO です。標準のデータベース処理に加えて、Fuel には データベースの生成や列追加など、データベース操作のための DBUtil クラスも 用意されています。
各ドライバにおいて、すべての機能をサポートしているわけではないことに注意してください。
設定
データベースの操作を行うには、データベース設定を変更する必要があります。 まずは、全ての環境で適用される、グローバルとなる設定を APPPATH/config/db.php に定義します。次に、適切な環境設定フォルダ内の db.php に、環境別のデータベース設定を定義します。 これら2つは、完全なデータベース設定としてマージされます。
データベース設定は次のようなフォーマットです:
// MySQL ドライバの設定
'development' => array(
'type' => 'mysqli',
'connection' => array(
'hostname' => 'localhost',
'port' => '3306',
'database' => 'fuel_db',
'username' => 'your_username',
'password' => 'y0uR_p@ssW0rd',
'persistent' => false,
'compress' => false,
),
'identifier' => '`',
'table_prefix' => '',
'charset' => 'utf8',
'enable_cache' => true,
'profiling' => false,
'readonly' => false,
),
// PDO ドライバで PostgreSQL を使う設定
'production' => array(
'type' => 'pdo',
'connection' => array(
'dsn' => 'pgsql:host=localhost;dbname=fuel_db',
'username' => 'your_username',
'password' => 'y0uR_p@ssW0rd',
'persistent' => false,
'compress' => false,
),
'identifier' => '"',
'table_prefix' => '',
'charset' => 'utf8',
'enable_cache' => true,
'profiling' => false,
'readonly' => array('slave1', 'slave2', 'slave3'),
),
'slave1' => array(
// 本番環境の読み込み専用スレーブDB 1台目の設定
),
'slave2' => array(
// 本番環境の読み込み専用スレーブDB 2台目の設定
),
'slave3' => array(
// 本番環境の読み込み専用スレーブDB 3台目の設定
),
全設定項目
項目 | 型 | 説明 |
---|---|---|
type | string | 接続に使う種類。mysql、mysqli または pdo。 |
connection | array | 接続情報の配列 |
connection.dsn | string | PDO の DSN |
connection.username | string | ユーザ名 |
connection.password | string | パスワード |
connection.persistent | boolean | 持続的接続を開始するかどうか |
connection.compress | boolean | MySQL または MySQLi を使用する際に、クライアントでの圧縮プロトコルを使用するかどうか |
identifier | string | デリミタに使われるクオートの識別子 |
table_prefix | string | テーブルのプレフィックス |
charset | string | 文字セット |
enable_cache | boolean | キャッシュ機能を使うかどうか。接続ベースでクエリキャッシュ設定を上書きします |
profiling | boolean | プロファイラにクエリ情報を追加するかどうか |
readonly | array|false | データベースがマスター/スレーブ環境ならば、スレーブサーバの配列を定義できます。データベース読み込み処理の際には、この値の中からランダムに選択されて使用されます。 |
設定が済んだら、使ってみましょう。