-
Notifications
You must be signed in to change notification settings - Fork 4
配置数据库(高级)
警告:以下内容难度较高,一般用户无需关心
写得比较乱,请凑合着看
与大多数酷Q插件一样,在默认情况下的SiS使用SQLite储存数据,而且在更高阶的用法中,SiS支持对数据库进行更深度的配置。
对于更大型的服务器,SQLite数据库可能并不能满足我们对稳定性的要求,这时候我们可以将SiS配置为使用MySQL驱动的数据库。
在conf.toml中,Database.Driver字段用于配置SiS所使用的驱动。
目前的版本中(v.1.1.0),SiS内置了两种驱动:sqlite3和mysql,修改配置文件即可更改SiS所使用的驱动。对于不同的驱动,Database.Source字段的填写也是完全不同的呢~
作为最简单的用法,可以直接设置数据库文件名Source = "data.db",但是这并不是基于应用路径,而是酷Q的运行路径。
为了获取应用路径,我们可以这样填写:{{ .AppDir }}data.db
,在内部就会被替换为D:\酷Q Pro\data\app\cn.miaoscraft.sis\data.db
(基于您酷Q的位置而改变),这个{{ .AppDir }}
是酷Q返回的应用路径,末尾带\
。
一个更推荐的写法则是{{ join .AppDir "data.db" }}
,join
用于将两个路径连在一起,自动处理其中的分隔符。欲知道更详细的信息,您可能就需要阅读SiS源码、学习go语言标准库text/template的用法了。所以建议直接写{{ join .AppDir "data.db" }}就好了,注意就是写到toml里面的时候引号"前要加反斜线\转义:Source = "{{ join .AppDir \"data.db\"}}"
,其它就没什么了。
在使用MySQL的时候,Source写的是数据库服务器的路径,具体格式为
用户:密码@tcp(地址:端口)/库名
,库名指定的库需要手动创建。
而且由于默认创建的表是用于SQLite的,所以两张表也需要提前手动创建
创建users表:
create table users
(
QQ bigint not null
primary key,
UUID binary(16) not null
);
创建auths表:
create table auths
(
QQ bigint not null
primary key,
Level int default 0 null
);
配置好数据库后重载SiS,若不报错则连接成功,可以尝试使用MyID指令查看数据是否成功存入数据库。
配置MySQL难度较高,如果有任何问题的话可以加入交流群交流交流~
SiS白名单管理系统由来自喵喵公馆(Miaoscraft,一个和谐的纯净生存MC服务器)的大家共同创建和维护,如果你有兴趣,欢迎加入我们~