:lollipop:A web platform designed for mysql inception
:apple: A web platform designed for MySQL Inception.
:anchor: 基于Inception的SQL自动化审核平台。
登陆流程分两种,一种对接企业内部的OpenLDAP,实现账号统一管理。另一种是直接走数据库。两种方式的选择通过config.py
中的LDAP_ON_OFF
控制
分三种角色。Dev,开发人;Audit,审核人;Admin,管理员
发起SQL上线,由Inception自动审核,自动审核成功后,提交至Audit。
只有走pt-osc修改大表时,才会显示执行进度。具体多大的表走pt-osc,可以通过 Inception 来配置,具体参考 Inception文档。
定时任务可设置、取消
Inception编译安装,请使用 bison 2.6 以下版本
请注意 Python3 和 Python2 编码不同
对接OpenLDAP,使用了flask-simpleLDAP扩展,为了兼容 python3,有一处源码需要修改,__init.__py 第153行,按如下修改
为了兼容 Inception 返回的信息,pyMysql 需要修改两处源码。
python3使用的pyMysql模块里并未兼容inception返回的server信息,因此需要添加
python3的pyMysql模块会向inception发送SHOW WARNINGS语句,导致inception返回一个"Must start as begin statement"错误。
python manage.py shell
db.create_all()
如果是走OpenLDAP的话,不需要手动创建用户,会自动同步到数据库中。
不走OpenLDAP,用户需要创建。角色的分配需要admin用户登陆之后修改。
创建方式一: 适用于普通用户,直接可以从登陆页面的注册链接进行注册
创建方式二: admin用户和普通用户,以创建test用户为例
python manage.py create_user --name test --password test --email [email protected]
Celery 需要使用 broker 和 backend, 我这里都采用了 redis。具体 Celery 的使用 查看Celery文档
celery worker -A celery_runner --logleve=info --statedb=/tmp/worker.state
注意上面的 --statedb=/tmp/worker.state
,撤销的定时任务均被 Celery 保存在里面,所以最好不要丢失。
Flask部署方式请参考部署
python manage.py runserver --threaded
该项目已不再维护。