Database 简介
简介
Fuel 提供基於資料庫抽象層的驅动程序, 在编寫的時候支援的驅动程序有 MySQL、MySQLi 和 PDO。 除了常規的資料庫互动,Fuel 也具有 DBUtil 类別以执行資料庫操作如建立資料庫、 添加欄位及更多。
請注意:并非所有的特色都被每一種驅动程序支援。
配置
为了開始與資料庫協作,你必須變更資料庫設定。 全域設定對你在 APPPATH/config/db.php 定義的所有 环境 是有效的。你在位於適當环境配置文件夾中的 db.php 定義环境特定資料庫設定。 兩者将被合併以形成完整的資料庫配置。
資料庫配置像这樣的格式:
// 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(
// 第一生產唯讀 slave db 的配置
),
'slave2' => array(
// 第二生產唯讀 slave db 的配置
),
'slave3' => array(
// 第三生產唯讀 slave db 的配置
),
請注意,type 對所有連線都是必要的。
所有配置設定
設定 | 类型 | 描述 |
---|---|---|
type | 字串 | 要使用什么类型的連線,可以是 mysql、mysqli 或 pdo。 |
connection | 陣列 | 連線設定陣列 |
connection.dsn | 字串 | 給 PDO 的連線 DSN。 |
connection.username | 字串 | 連線使用者。 |
connection.password | 字串 | 連線密码。 |
connection.persistent | 布林 | 是否啟动一个持久的連線。 |
connection.compress | 布林 | 當使用 MySQL/MySQLi 時,是否使用客戶端壓縮。 |
identifier | 字串 | 用於引用識別符的分隔符。 |
table_prefix | 字串 | 資料表前綴。 |
charset | 字串 | 連線字符集。 |
enable_cache | 布林 | 是否允許快取,将覆寫連線基础上的查詢快取設定。 |
profiling | 布林 | 是否添加連線查詢到分析器。 |
readonly | 陣列|false | 如果你有一个 master/slave 資料庫設定,你可以使用它來定義一个 slave 連線的陣列,它可以被用在隨機的讀取操作。 |
一旦你配置到位,是時候使用它。