数据配置


module的配置文件在项目根目录下的config/db.config.php文件中, 一个简单的数据库配置文件如下:

/**
 * mysql
 */
$mysql_link = array(
    'host' => '127.0.0.1',
    'port' => '3306',
    'user' => 'root',
	'prefix' => 'cp_',
    'pass' => '123456',
    'charset' => 'utf8',
);

$db = $mysql_link;
$db['name'] = 'test';

return array(
    'mysql' => array(
        'db' => $db,
    )
);

配置文件返回一个二维数组, 数组的key表示数据连接类型. 同一个数据连接类型下可以配置多个值. 同一数据连接类型下的key表示名称, value表示值

配置多个数据库

在项目中, 我们可能需要配置多个数据库, 如下:

/**
 * mysql
 */
$mysql_link = array(
    'host' => '127.0.0.1',
    'port' => '3306',
    'user' => 'root',
	'prefix' => 'cp_',
    'pass' => '123456',
    'charset' => 'utf8',
);

/**
 * redis
 */
$redis_link = array(
    'host' => '127.0.0.1',
    'port' => 6379,
    'pass' => '',
    'timeout' => 2.5
);

//主库
$db = $mysql_link;
$db['name'] = 'test';

//评论数据库
$comment = $mysql_link;
$comment['name'] = 'test_comment';

//缓存
$cache = $redis_link;
$cache['db'] = 6;

//队列
$queue = $redis_link;
$queue['db'] = 7;

return array(
    'mysql' => array(
        'db' => $db,
        'comment' =>  $comment,
    ),

    'redis' =>  array(
        'cache' =>  $cache,
        'queue' =>  $queue,
    ),
);

除了mysql主库外, 还配置了一个mysql从库, 另外还配了2个redis数据库, 一个用于缓存, 一个用于队列

指定默认数据库

当使用多个数据库配置时, 可以在app配置文件中指定默认数据库

sys => array(
	'default_db' => 'Model类型:配置名称'
)

默认的Model类型是mysql, 名称是db.