开源项目下载地址:https://gitee.com/rtttte/Archery?utm_source=alading&utm_campaign=repo
Archery安装
参考官方:https://archerydms.com/installation/docker/
需要安装docker、dockercomppose
进入目录:Archery-1.10.0/src/docker-compose,依次执行下文的命令
# 启动
docker-compose -f docker-compose.yml up -d
# 表结构初始化
docker exec -ti archery /bin/bash
cd /opt/archery
source /opt/venv4archery/bin/activate
python3 manage.py makemigrations sql
python3 manage.py migrate
# 数据初始化
python3 manage.py dbshell<sql/fixtures/auth_group.sql
python3 manage.py dbshell<src/init_sql/mysql_slow_query_review.sql
# 创建管理用户
python3 manage.py createsuperuser
# 重启
docker restart archery
# 日志查看和问题排查
docker logs archery -f --tail=50
访问:127.0.0.1:9123
启动如果遇到问题:
可以尝试修改container_name
Archery使用说明
需要调整的SQL文件
一个正常Navicat导出的SQL如下:
DROP TABLE IF EXISTS `XXX_record`;
CREATE TABLE `XXX_record` (
`created_by` varchar(60) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '创建人',
`created_time` datetime DEFAULT NULL COMMENT '创建时间',
`updated_by` varchar(60) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '更新人',
`updated_time` datetime DEFAULT NULL COMMENT '更新时间',
`id` bigint(20) NOT NULL,
`oss_type` varchar(60) COLLATE utf8mb4_bin NOT NULL COMMENT 'OSS存储类型',
`file_hash` varchar(60) COLLATE utf8mb4_bin NOT NULL COMMENT '文件内容hash',
`file_origin_name` varchar(128) COLLATE utf8mb4_bin NOT NULL COMMENT '原文件名称',
`file_suffix` varchar(60) COLLATE utf8mb4_bin NOT NULL COMMENT '文件后缀',
`file_dest_path` varchar(128) COLLATE utf8mb4_bin NOT NULL COMMENT '文件上传后地址',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=86609 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='XXX记录表';
修正记录如下
禁止指定存储引擎:’XXX表名’
删除 ENGINE=InnoDB
列 'created_by' 不允许为null(表 'XXX表名'). 此处无需处理!
这个是设置为告警级别的,不用管他。其他信息绝对会导致审核状态无法pass
表 'base_dict' 禁止设置排序规则!允许的排序规则
你表字段指定了COLLATE utf8mb4_bin 删除即可
CREATE TABLE `mock_data` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`)
) AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='mock数据表';
建议自增列初始值置为 1
将:AUTO_INCREMENT=1
列 'id' 需要设置注释(表'XXX表名').
字段最后添加:COMMENT '主键',
如果是表没有注释,在最后拼接 COMMENT 'XXX表'
自增列建议设置无符号标志unsigned(表’XXX表名’). 这个有待考证
应该是字段有主键 删除AUTO_INCREMENT,而不是AUTO_INCREMENT=1 哦。仔细看!
错误示例:
CREATE TABLE `XXX` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '我是主键', `yb_xxzjbh` varchar(70) NOT NULL COMMENT '原表_信息主键编号', `xzjdmc` varchar(64) NOT NULL COMMENT '街道名称', PRIMARY KEY (`id`) ) AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT '我是注释';
表 'XXX' 需要设置注释
SQL语句最后添加:COMMENT '我是注释'
CREATE TABLE `XXX` (
`id` int(11) NOT NULL COMMENT '主键',
`yb_xxzjbh` varchar(70) NOT NULL COMMENT '原表_信息主键编号',
`xzjdmc` varchar(64) NOT NULL COMMENT '街道名称',
PRIMARY KEY (`id`)
) AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT '我是注释';
需要设置主键
SET FOREIGN_KEY_CHECKS = 1 不支持的语法类型
删除即可
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤