通用数据库执行器
通用数据库执行器
概述
现在项目中需要一个统一的执行器,输入对应的数据库信息和sql语句,就可以获得session并且在指定的数据库上执行。这样就可以执行非orm绑定的数据库了
首先从以下几个角度考虑
- 数据库支持:
暂时只有pg用到,其他的用到了再说 - 连接管理:
单例模式使用sqlalchemy的session池 - 安全性:
内部使用,凭证访问 - 错误处理:
暂时先不考虑 - 查询语法检查:
使用sqlparse库做简单的语法格式检查 - 查询结果的格式化:
查询类的可以使用pandas查询然后json格式化返回结果
其他的返回执行后的响应就可以了 - 执行器接口设计:
最主要的就是两个,凭证以及语句 - 监控和日志:
使用日志模块打日志,执行状态直接通过查看指定类型的日志来确定,返回查询的结果 - 限流和性能:
限制查询时超时30s,也可以自己传入
先写一个函数,然后有时间了再来构思
结构
使用
其他
Loading...