Configuration (配置)
默认配置文件路径为 MODPATH/database/config/database.php
,可以复制该文件到 APPPATH/config/database.php
并在新路径修改文件,同时需保持符合级联文件系统规则。
原文
数据库配置信息文件包含一个配置信息组的数组。每一个单一的数据库配置组结构,称之为instance (单例),例如: 原文
string INSTANCE_NAME => array(
'type' => string DATABASE_TYPE,
'connection' => array CONNECTION_ARRAY,
'table_prefix' => string TABLE_PREFIX,
'charset' => string CHARACTER_SET,
'profiling' => boolean QUERY_PROFILING,
),
了解每一项配置信息是非常有必要的。
原文
INSTANCE_NAME (单例名称) : 链接名称可以设定为任何你想设定的名称,但是你需要至少设定一个名称为”default”的链接。 原文
DATABASE_TYPE (数据库类型) : 一个已安装的数据库驱动。Kohana已包含”mysql”和”pdo”的驱动。驱动文件必须继承 Database class. 原文
CONNECTION_ARRAY (连接数组) : 为数据库链接设定明确的驱动选项。驱动选项详见下述说明 原文
TABLE_PREFIX (表名前缀) : 系统会通过查询创建器(query builder),为所有表明增加前缀名称。 Prepared statements将不会使用表名前缀。 原文
QUERY_PROFILING (查询分析) : 用于对数据库查询,开启查询分析。该功能主要用于查看单一页面数据库查询次数以及分析最长加载时间。你需要开启profiler用于查看查询分析状态。 原文
Example (例子)
以下示例文件包含2个MySQL数据库连接,一个名为”local”,一个名为”remote” 原文
return array
(
'default' => array
(
'type' => 'mysql',
'connection' => array(
'hostname' => 'localhost',
'username' => 'dbuser',
'password' => 'mypassword',
'persistent' => FALSE,
'database' => 'my_db_name',
),
'table_prefix' => '',
'charset' => 'utf8',
'profiling' => TRUE,
),
'remote' => array(
'type' => 'mysql',
'connection' => array(
'hostname' => '55.55.55.55',
'username' => 'remote_user',
'password' => 'mypassword',
'persistent' => FALSE,
'database' => 'my_remote_db_name',
),
'table_prefix' => '',
'charset' => 'utf8',
'profiling' => TRUE,
),
);
Connections and Instances (配置集和单例集)
每个配置组可转换为一个数据库单例。每个单例可通过[Database::instance]访问到。如果你不传递参数,则会默认调用’default’配置。 原文
// This would connect to the database defined as 'default'
$default = Database::instance();
// This would connect to the database defined as 'remote'
$remote = Database::instance('remote');
如果想要断开数据库,简单地销毁连接对象即可: 原文
unset($default)
// Or
unset(Database::$instances['default']);
如果你想一次性断开所有数据库单例,可清空Database::$instances 原文
Database::$instances = array();
Connection Settings
不同的数据库驱动需要不同的链接设置 原文
MySQL
MySQL 数据库 可在connection
数组中,对如下项目进行设定:
原文
Type | Option | Description | Default value |
---|---|---|---|
string |
hostname | Hostname of the database | localhost |
integer |
port | Port number | NULL |
string |
socket | UNIX socket | NULL |
string |
username | Database username | NULL |
string |
password | Database password | NULL |
boolean |
persistent | Persistent connections | FALSE |
string |
database | Database name | kohana |
PDO
PDO 数据库 可在connection
数组中,对如下项目进行设定:
原文
Type | Option | Description | Default value |
---|---|---|---|
string |
dsn | PDO data source identifier | localhost |
string |
username | Database username | NULL |
string |
password | Database password | NULL |
boolean |
persistent | Persistent connections | FALSE |
[!!] 如果你使用PDO,但是并不清楚如何使用dsn
选项,请查看PDO::__construct
原文