开源项目下载地址: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博客搜索:标题关键字。以获取全部资料 ❤