项目初始化
This commit is contained in:
95
config/thinkorm.php
Normal file
95
config/thinkorm.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<?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', 'webman-buildadmin-mall'),
|
||||
// 用户名(与 .env DATABASE_USERNAME 一致,默认勿用 root 以免与本机 MySQL 不符)
|
||||
'username' => $env('database.username', 'webman-buildadmin-mall'),
|
||||
// 密码(与 .env DATABASE_PASSWORD 一致)
|
||||
'password' => $env('database.password', '123456'),
|
||||
// 端口
|
||||
'hostport' => $env('database.hostport', '3306'),
|
||||
// 数据库连接参数(MYSQL_ATTR_USE_BUFFERED_QUERY 避免 "Cannot execute queries while other unbuffered queries are active")
|
||||
'params' => [
|
||||
\PDO::ATTR_TIMEOUT => 3,
|
||||
\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
|
||||
],
|
||||
// 数据库编码默认采用 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',
|
||||
];
|
||||
Reference in New Issue
Block a user