database.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. use think\facade\Env;
  3. include dirname(dirname(dirname(__DIR__))) . '/data/config.php';
  4. if(empty($config)){
  5. include dirname(__DIR__) . '/data/config.php';
  6. }
  7. $host = $config['db']['master']['host'] ?: $config['db']['host'];
  8. $port = $config['db']['master']['port'] ?: $config['db']['port'];
  9. $database = $config['db']['master']['database'] ?: $config['db']['database'];
  10. $username = $config['db']['master']['username'] ?: $config['db']['username'];
  11. $password = $config['db']['master']['password'] ?: $config['db']['password'];
  12. $tablePrefix = $config['db']['master']['tablepre'] ?: $config['db']['tablepre'];
  13. if (empty($tablePrefix)) {
  14. $tablePrefix = 'ims_';
  15. }
  16. $app_name = 'xm_mallv3';
  17. $tablePrefix = $tablePrefix . $app_name . '_';
  18. return [
  19. 'app_name' => $app_name,
  20. // 默认使用的数据库连接配置
  21. 'default' => Env::get('database.driver', 'mysql'),
  22. // 自定义时间查询规则
  23. 'time_query_rule' => [],
  24. // 自动写入时间戳字段
  25. // true为自动识别类型 false关闭
  26. // 字符串则明确指定时间字段类型 支持 int timestamp datetime date
  27. 'auto_timestamp' => true,
  28. // 时间字段取出后的默认时间格式
  29. 'datetime_format' => false,
  30. // 数据库连接配置信息
  31. 'connections' => [
  32. 'mysql' => [
  33. // 数据库类型
  34. 'type' => Env::get('database.type', 'mysql'),
  35. // 服务器地址
  36. 'hostname' => Env::get('database.hostname', $host),
  37. // 数据库名
  38. 'database' => Env::get('database.database', $database),
  39. // 用户名
  40. 'username' => Env::get('database.username', $username),
  41. // 密码
  42. 'password' => Env::get('database.password', $password),
  43. // 端口
  44. 'hostport' => Env::get('database.hostport', $port),
  45. // 数据库连接参数
  46. 'params' => [],
  47. // 数据库编码默认采用utf8
  48. 'charset' => Env::get('database.charset', 'utf8mb4'),
  49. // 数据库表前缀
  50. 'prefix' => Env::get('database.prefix', $tablePrefix),
  51. // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
  52. 'deploy' => 0,
  53. // 数据库读写是否分离 主从式有效
  54. 'rw_separate' => false,
  55. // 读写分离后 主服务器数量
  56. 'master_num' => 1,
  57. // 指定从服务器序号
  58. 'slave_no' => '',
  59. // 是否严格检查字段是否存在
  60. 'fields_strict' => false,
  61. // 是否需要断线重连
  62. 'break_reconnect' => false,
  63. // 监听SQL
  64. 'trigger_sql' => true,
  65. // 开启字段缓存
  66. 'fields_cache' => false,
  67. // 字段缓存路径
  68. 'schema_cache_path' => app()->getRuntimePath() . 'schema' . DIRECTORY_SEPARATOR,
  69. ],
  70. // 更多的数据库配置信息
  71. ],
  72. ];