项目初始化

This commit is contained in:
2026-03-18 15:54:43 +08:00
commit dfcd762e23
601 changed files with 57883 additions and 0 deletions

95
config/thinkorm.php Normal file
View 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', 'dafuweng-buildadmin-webman'),
// 用户名(与 .env DATABASE_USERNAME 一致,默认勿用 root 以免与本机 MySQL 不符)
'username' => $env('database.username', 'dafuweng-buildadmin-webman'),
// 密码(与 .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',
];