95 lines
3.1 KiB
PHP
95 lines
3.1 KiB
PHP
<?php
|
||
|
||
/**
|
||
* ThinkORM 数据库配置
|
||
* 从 config/database.php 迁移
|
||
*
|
||
* .env 支持两种格式(二选一):
|
||
* 1. BuildAdmin 格式:database.hostname、database.database 等(需 env 支持点号)
|
||
* 2. 标准格式:DATABASE_HOSTNAME、DATABASE_DATABASE 等
|
||
*/
|
||
|
||
$env = function (string $dotKey, $default = null) {
|
||
$upperKey = strtoupper(str_replace('.', '_', $dotKey));
|
||
$value = env($dotKey, null);
|
||
if ($value === null) {
|
||
$value = env($upperKey, $default);
|
||
}
|
||
return $value ?? $default;
|
||
};
|
||
|
||
return [
|
||
// 默认使用的数据库连接配置
|
||
'default' => $env('database.driver', 'mysql'),
|
||
|
||
// 自定义时间查询规则
|
||
'time_query_rule' => [],
|
||
|
||
// 自动写入时间戳字段
|
||
'auto_timestamp' => true,
|
||
|
||
// 时间字段取出后的默认时间格式
|
||
'datetime_format' => false,
|
||
|
||
// 时间字段配置 配置格式:create_time,update_time
|
||
'datetime_field' => '',
|
||
|
||
// 数据库连接配置信息
|
||
'connections' => [
|
||
'mysql' => [
|
||
// 数据库类型
|
||
'type' => $env('database.type', 'mysql'),
|
||
// 服务器地址
|
||
'hostname' => $env('database.hostname', '127.0.0.1'),
|
||
// 数据库名(与 database.php / .env 一致)
|
||
'database' => $env('database.database', 'dafuweng-buildadmin'),
|
||
// 用户名(与 .env DATABASE_USERNAME 一致,默认勿用 root 以免与本机 MySQL 不符)
|
||
'username' => $env('database.username', 'dafuweng-buildadmin'),
|
||
// 密码(与 .env DATABASE_PASSWORD 一致)
|
||
'password' => $env('database.password', '123456'),
|
||
// 端口
|
||
'hostport' => $env('database.hostport', '3306'),
|
||
// 数据库连接参数
|
||
'params' => [
|
||
\PDO::ATTR_TIMEOUT => 3,
|
||
],
|
||
// 数据库编码默认采用 utf8mb4
|
||
'charset' => $env('database.charset', 'utf8mb4'),
|
||
// 数据库表前缀
|
||
'prefix' => $env('database.prefix', ''),
|
||
|
||
// 数据库部署方式:0 集中式,1 分布式(主从)
|
||
'deploy' => 0,
|
||
// 数据库读写是否分离
|
||
'rw_separate' => false,
|
||
// 读写分离后 主服务器数量
|
||
'master_num' => 1,
|
||
// 指定从服务器序号
|
||
'slave_no' => '',
|
||
// 是否严格检查字段是否存在
|
||
'fields_strict' => true,
|
||
// 是否需要断线重连
|
||
'break_reconnect' => true,
|
||
// 监听SQL(调试用)
|
||
'trigger_sql' => $env('app_debug', false),
|
||
// 开启字段缓存
|
||
'fields_cache' => false,
|
||
|
||
// 连接池配置(Webman 常驻内存模式必需)
|
||
'pool' => [
|
||
'max_connections' => 5,
|
||
'min_connections' => 1,
|
||
'wait_timeout' => 3,
|
||
'idle_timeout' => 60,
|
||
'heartbeat_interval' => 50,
|
||
],
|
||
],
|
||
],
|
||
|
||
// 自定义分页类
|
||
'paginator' => '',
|
||
|
||
// 迁移表名(TableManager/Phinx 使用)
|
||
'migration_table' => 'migrations',
|
||
];
|