1.数据库的切换
原来使用的是SQLlite数据库,源代码下的数据连接地址如下:
os.environ.get('DATABASE_URL') or 'sqlite:///{}/ctfd.db'.format(os.path.dirname(os.path.abspath(__file__)))
将数据库修改为MySQL,但是报错,提示缺少MySQLdb模块,于是安装,还是提示报错,百度得知加上pymysql即可。最终连接如下所示。
mysql+pymysql://root:123456@localhost/ctfb?charset=utf8mb4
2.排行榜的优化
数据库中的解决问题的触发器
CREATE TRIGGER solves_abb1 AFTER INSERT ON solves FOR EACH ROW
BEGIN
UPDATE teams SET teams.solves_count=solves_count+1 WHERE teams.id=new.teamid;
END;