Thinkphp6笔记十二:多数据库配置

时间:2020-04-08
本文章向大家介绍Thinkphp6笔记十二:多数据库配置,主要包括Thinkphp6笔记十二:多数据库配置使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一:.env配置

APP_DEBUG = true
APP_TRACE = true

[APP]
DEFAULT_TIMEZONE = Asia/Shanghai

[DATABASE]
TYPE = mysql
HOSTNAME = 127.0.0.1
DATABASE = v1kcom
USERNAME = root
PASSWORD = root
HOSTPORT = 3306
PREFIX = z_ 
CHARSET = utf8
DEBUG = true
#库2配置
[DATABASE2]
TYPE = mysql
HOSTNAME = 127.0.0.1
DATABASE = v2kcom
USERNAME = root
PASSWORD = root
HOSTPORT = 3306
PREFIX = z_
CHARSET = utf8
DEBUG = true

[LANG]
default_lang = zh-cn

二:配置config.php

/config/database.php
// 数据库连接配置信息
'connections' => [
'mysql' => [
// 数据库类型
'type' => env('database.type', 'mysql'),
// 服务器地址
'hostname' => env('database.hostname', '127.0.0.1'),
// 数据库名
'database' => env('database.database', ''),
// 用户名
'username' => env('database.username', 'root'),
// 密码
'password' => env('database.password', ''),
// 端口
'hostport' => env('database.hostport', '3306'),
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => env('database.charset', 'utf8'),
// 数据库表前缀
'prefix' => env('database.prefix', ''),

// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离 主从式有效
'rw_separate' => false,
// 读写分离后 主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 是否严格检查字段是否存在
'fields_strict' => true,
// 是否需要断线重连
'break_reconnect' => false,
// 监听SQL
'trigger_sql' => env('app_debug', true),
// 开启字段缓存
'fields_cache' => false,
// 字段缓存路径
'schema_cache_path' => app()->getRuntimePath() . 'schema' . DIRECTORY_SEPARATOR,
],

// 更多的数据库配置信息
'mysql2' => [
// 数据库类型
'type' => env('database2.type', 'mysql'),
// 服务器地址
'hostname' => env('database2.hostname', '127.0.0.1'),
// 数据库名
'database' => env('database2.database', ''),
// 用户名
'username' => env('database2.username', 'root'),
// 密码
'password' => env('database2.password', ''),
// 端口
'hostport' => env('database2.hostport', '3306'),
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => env('database2.charset', 'utf8'),
// 数据库表前缀
'prefix' => env('database2.prefix', ''),

// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离 主从式有效
'rw_separate' => false,
// 读写分离后 主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 是否严格检查字段是否存在
'fields_strict' => true,
// 是否需要断线重连
'break_reconnect' => false,
// 监听SQL
'trigger_sql' => env('app_debug', true),
// 开启字段缓存
'fields_cache' => false,
// 字段缓存路径
'schema_cache_path' => app()->getRuntimePath() . 'schema' . DIRECTORY_SEPARATOR,
],
],

三:控制器调用

// 已经设置表前缀
$result = Db::connect('mysql')->name('ad')->select();
// 未设置表前缀
$result = Db::connect('mysql')->table('z_ad')->select();

原文地址:https://www.cnblogs.com/wesky/p/12660986.html