Files
bl/docs/config.md

155 lines
4.7 KiB
Go
Raw Normal View History

2025-06-20 17:13:51 +08:00
# 配置
[返回目录](README.md)
## 配置文件
`CoolAdminGo`配置文件默认位于`mainfest/config/config.yaml`.继承自`GoFrame`的配置文件支持多种格式包括`yaml``toml``json``ini``xml`可访问[GoFrame 配置文件](https://goframe.org/pages/viewpage.action?pageId=1114668)查看更多配置文件格式。
## 数据库配置
`CoolAdminGo`支持多种数据库可通过引入不同的依赖包进行切换同时您也可以开发自己的数据库驱动
### SQLite 配置
使用`sqllite`数据库时需在`main.go`中引入`_ "github.com/cool-team-official/cool-admin-go/contrib/drivers/sqlite"`然后在`config.yaml`中配置`sqlite`数据库
::: warning 注意
`sqlite`引入应早于使用数据库的包 为防止编辑器自动排序可在数据包引入下方加一个空行
:::
```go
// main.go
import (
// 引入sqlite驱动
_ "github.com/cool-team-official/cool-admin-go/contrib/drivers/sqlite"
// 引入其他包
"github.com/cool-team-official/cool-admin-go/pkg/dao"
)
```
配置文件中相关配置如下
```yaml
database:
default: # 数据源名称,当不指定数据源时 default 为默认数据源
type: "sqlite" # 数据库类型
link: "cool.sqlite" # 数据库文件名称可以带路径/tmp/cool.sqlite
extra: busy_timeout=5000 # 数据库连接扩展参数
createdAt: "createTime" # 创建时间字段
updatedAt: "updateTime" # 更新时间字段
debug: true # 是否开启调试模式开启后会打印SQL日志
```
### MySQL 配置
使用`mysql`数据库时需在`main.go`中引入`_ "github.com/cool-team-official/cool-admin-go/contrib/drivers/mysql"`然后在`config.yaml`中配置`mysql`数据库
::: warning 注意
`mysql`引入应早于使用数据库的包 为防止编辑器自动排序可在数据包引入下方加一个空行
:::
```go
// main.go
import (
// 引入mysql驱动
_ "github.com/cool-team-official/cool-admin-go/contrib/drivers/mysql"
// 引入其他包
"github.com/cool-team-official/cool-admin-go/pkg/dao"
)
```
配置文件中相关配置如下
```yaml
database:
default: # 数据源名称,当不指定数据源时 default 为默认数据源
type: "mysql" # 数据库类型
host: "127.0.0.1" # 数据库地址
port: "3306" # 数据库端口
user: "root" # 数据库用户名
pass: "123456" # 数据库密码
name: "cooltest" # 数据库名称
charset: "utf8mb4" # 数据库编码
timezone: "Asia/Shanghai" # 数据库时区
debug: true # 是否开启调试模式开启后会打印SQL日志
createdAt: "createTime" # 创建时间字段
updatedAt: "updateTime" # 更新时间字段
```
可以使用`docker-compose`快速启动一个`mysql`数据库配置如下
```yaml
# docker-compose.yaml
version: "3"
services:
# mysql8 数据库
mysql8:
image: mysql:8
container_name: mysql8
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
# restart: always # 重启策略
environment:
TZ: Asia/Shanghai # 指定时区
MYSQL_ROOT_PASSWORD: "123456" # 配置root用户密码
MYSQL_DATABASE: "cooltest" # 业务库名
MYSQL_USER: "cooltest" # 业务库用户名
MTSQL_PASSWORD: "123123" # 业务库密码
ports:
- 3306:3306
volumes:
- ./data/mysql/:/var/lib/mysql/
```
启动`mysql`数据库
```bash
docker compose -f "docker-compose.yml" up -d --build mysql8
```
关闭`mysql`数据库
```bash
docker compose -f "docker-compose.yml" down mysql8
```
### PostgreSQL 配置
使用`postgresql`数据库时需在`main.go`中引入`_ "github.com/cool-team-official/cool-admin-go/contrib/drivers/pgsql"`然后在`config.yaml`中配置`postgresql`数据库
::: warning 注意
`postgresql`引入应早于使用数据库的包 为防止编辑器自动排序可在数据包引入下方加一个空行
:::
```go
// main.go
import (
// 引入postgresql驱动
_ "github.com/cool-team-official/cool-admin-go/contrib/drivers/pgsql"
// 引入其他包
"github.com/cool-team-official/cool-admin-go/pkg/dao"
)
```
配置文件中相关配置如下
```yaml
database:
default:
type: "pgsql" # 数据库类型
host: "127.0.0.1" # 数据库地址
port: "5432" # 数据库端口
user: "cooltest" # 数据库用户名
pass: "123456" # 数据库密码
name: "cooltest" # 数据库名称
debug: true # 是否开启调试模式开启后会打印SQL日志
createdAt: "createTime" # 创建时间字段
updatedAt: "updateTime" # 更新时间字段
```