データベース設定 | Install & Settings

データベースの接続設定は config/Database.php で行います。PRODUCTION, TEST, DEVELOPMENTと、各実行環境ごとに接続設定を行うことができます。
$params = array("コネクションネーム" => array(
  "package"  => "パッケージ名",
  "host"     => "IPアドレス、またはホスト名",
  "database" => "データベース名",
  "user"     => "接続ユーザ名",
  "password" => "接続ユーザパスワード"
));
コネクションネームのデフォルトは "default" です。"default" の場合、多くの場面でコネクションネームの指定を省略することができます。

パッケージとデータベース&拡張モジュールの対応は下記の通りです。
  • sabel.db.mysql : MySQL
  • sabel.db.mysqli : MySQLi
  • sabel.db.pgsql : PostgreSQL
  • sabel.db.oci : Oracle
  • sabel.db.ibase : Firebird/InterBase
  • sabel.db.mssql : Microsoft SQL Server ※現在サポート対象外
  • sabel.db.pdo.mysql : MySQL(PDO使用)
  • sabel.db.pdo.pgsql : PostgreSQL(PDO使用)
  • sabel.db.pdo.oci : Oracle(PDO使用)
  • sabel.db.pdo.sqlite : SQLite (PDO使用)
  • sabel.db.sqlite3: SQLite3 ※Sabel 1.2.1で追加予定
パッケージにsabel.db.pdo.sqliteを使用する場合は "package", "database" のみを指定すればOKです。
$params = array("default" => array(
  "package"  => "sabel.db.pdo.sqlite",
  "database" => "/path/to/data.db"
));
クライアント文字セットを指定する必要がある場合は "charset" を含めてください。"charset" の値は抽象化されていないため、データベース固有の認識できる文字セットを指定してください。
$params = array("default" => array(
  "package"  => "sabel.db.mysql",
  "host"     => "localhost",
  "database" => "test",
  "charset"  => "ujis",
  "user"     => "root",
  "password" => ""
));
ActiveRecordのクラスで、そのオブジェクトが接続するデータベースを指定することができます。$connectionName に接続先のコネクションネームを指定してください。("default" の場合はこの記述を省略することができます。)
app/models/User.php

class User extends Sabel_Db_Model
{
  protected $connectionName = "userdb";
}
使用する機会は少ないかもしれませんが、動的に接続先を変更することもできます。
// "default" データベースから取得
$arUser->setConnectionName("default");
$users = $arUser->select();

// "backupdb" データベースから取得
$arUser->setConnectionName("backupdb");
$users = $arUser->select();