Giter Site home page Giter Site logo

jly8866 / archer Goto Github PK

View Code? Open in Web Editor NEW
1.6K 83.0 645.0 9.17 MB

基于inception的自动化SQL操作平台,支持SQL执行、LDAP认证、发邮件、OSC、SQL查询、SQL优化建议、权限管理等功能,支持docker镜像

License: Apache License 2.0

Python 19.44% HTML 14.56% CSS 4.01% JavaScript 61.66% Shell 0.20% Batchfile 0.01% Dockerfile 0.13%
sql inception mysql devops python django web

archer's People

Contributors

boomballa avatar dependabot[bot] avatar hhyo avatar honor100 avatar jly8866 avatar johnliu2008 avatar thy0108 avatar woshihaoren avatar wowkingah avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

archer's Issues

目前业界在使用archer的企业都有哪些?

目前不少企业在生产环境使用archer系统审核和执行SQL,包括但不限于: 艺龙旅行网、杭州九言、华润集团、宝宝树、pactera、正保远程教育、跟谁学、51信用卡等。
下面大家可以继续补充

archer开发任务认领-2018-02-01

  1. 执行SQL工单时,可以点击按钮kill掉 --待认领
  2. SQL工单定时执行,发起工单时可以指定推迟到某个时间点执行,不建议引入celery和MQ,建议用crontab,架构尽量简单 --待认领
  3. SQL审核人通过后,用户可以选择由发起人执行还是审核人执行的 --待认领
  4. mysql数据查询、下载和数据权限控制 --待设计,待认领。PS:这是一个大的工程,需要认真设计做的尽量符合大部分公司需求

提交阿里云RDS上线单报错

我用阿里云账号提交sql 上线工单 提示
The backup dbname 'rm-xxx.mysql.rds.aliyuncs.com-3306-xxx' is too long.
老哥有遇到过么
image

含有关键字的变更没法通过审核

含有关键字的变更,一直没法通过审核,如下图:
qq 20170426152033

inception的参数inception_check_identifier已经关闭了的:
qq 20170426152053

会不会是archer对提交语句中的反引号做了处理,比如强制去掉了?

ldap 登录失败

ldap root 可以认证和登录,但是普通用户登录的时候,总是会验证失败,打印出来的信息就是ldap 认证失败,ldap 实例化的时候,是有用户的dn 信息的,在ldap authenticat 的时候会报错,看起来是用户名密码不匹配,但是我其他系统都能登录,同样一套openldap
image

docker需求

有没有考虑做成docker镜像,这样安装配置会比较方便?

目前版本archer会导致inception异常退出的Bug

之前我提了几个使用问题,今天测试了最新版,发现如下问题。 申请者发起DDL SQL申请,在这,之前审核人员不能再待执行工单看见工单的问题已经修复,点击执行,会显示如下页面:

image

然后,刷新页面,已然是这样。 多尝试刷新几次也仍然是这个页面。
期间,我记录了下inception的端口状态,如下:
image

inception从服务启动到工单结束的全部日志输出如下:
image

我进被修改的数据库确认,每次工单应该都执行成功了,但是邮件已然没有收到,可能是因为工单状态没有变为已执行的原因。上述问题稳定复现, 我试了几次, 工单状态如下:

image

我强烈希望,咱们能先稳稳,起码保证版本功能可以正常使用,然后再开发改动比较大的新功能。 一直期待Pt-osc进度条的新版本,到目前仍然没有一个完整的体验。

咨询个关于osc的问题。

inception里应该是支持osc的,但是我这边跑一些更改大表的sql, 如果走osc(在inception的任务列表里可以看到)的话,好多任务会失败,我怀疑是inception执行pt-online-schema-change时加的参数的问题,请问你对于pt-online-schema-change这个工具你怎么控制参数的?

试用了docker版,测试drop table,发现还是能执行成功

看代码,中间是有这个方法的,求解答
def criticalDDL(self, sqlContent): ''' 识别DROP DATABASE, DROP TABLE, TRUNCATE PARTITION, TRUNCATE TABLE等高危DDL操作,因为对于这些操作,inception在备份时只能备份METADATA,而不会备份数据! 如果识别到包含高危操作,则返回“审核不通过” '''
image

慢日志明细显示不准确问题

慢日志统计里含有50条并且总时间10s多一点但是明细里只有11条,并且每条执行时间看起来花费更多,11条总时间大概10s多一点. 少了39条明细

慢日志获取频率 每10分钟一次

image
image

有些功能实际上可以用django的方案实现

比如 https://github.com/jly8866/archer/blob/6e2bcef21a7235a436906f2dc952aff3530b07e6/sql/check_login_middleware.py

这里的未登录重定向到/login/ 可以通过 django 的 login_required 实现

from django.contrib.auth.decorators import login_required

@login_required
def my_view(request):

https://docs.djangoproject.com/en/1.8/topics/auth/default/#django.contrib.auth.decorators.login_required

不过这个要用的话就需要用上django 自带的一些认证系统, 这里的用户系统可能会需要一些扩充

角色这块可以用外键的方式扩充, 放在一个Profile table里,然后对应的 view可以使用 django的检验修饰器

等我搭好了会再提一个pull request

子查询别名不支持

查询中如果有子查询语句,子查询中的字段别名的使用上不支持,错误如下:

inception返回异常:
Incorrect database name ''
Column 't1.min_id' not existed.
Column 't1.max_id' not existed.

以下是模拟的子查询sql语句

SELECT
  t2.ID,
  t2.USER_ID,
  t2.NICKNAME,
  t2.BIRTHDAY,
  t2.CNAME
FROM
  (
    SELECT
      ID,
      MIN(id) AS min_id,
      MAX(id) AS max_id
    FROM
      t_user
  ) t1
  LEFT JOIN t_user t2 ON t1.min_id = t2.id
  LEFT JOIN t_user t3 ON t1.max_id = t3.id;

migrate error

File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/django/db/models/manager.py", line 127, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/django/db/models/query.py", line 920, in _insert
return query.get_compiler(using=using).execute_sql(return_id)
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/django/db/models/sql/compiler.py", line 974, in execute_sql
cursor.execute(sql, params)
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/django/db/backends/utils.py", line 79, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/django/db/utils.py", line 98, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/django/db/backends/mysql/base.py", line 124, in execute
return self.cursor.execute(query, args)
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/pymysql/cursors.py", line 166, in execute
result = self._query(query)
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/pymysql/cursors.py", line 322, in _query
conn.query(q)
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/pymysql/connections.py", line 856, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/pymysql/connections.py", line 1057, in _read_query_result
result.read()
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/pymysql/connections.py", line 1341, in read
first_packet = self.connection._read_packet()
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/pymysql/connections.py", line 1014, in _read_packet
packet.check_error()
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/pymysql/connections.py", line 393, in check_error
err.raise_mysql_exception(self._data)
File "/data/zhangcd/.pyenv/versions/archer_3.4.1_env/lib/python3.4/site-packages/pymysql/err.py", line 107, in raise_mysql_exception
raise errorclass(errno, errval)
django.db.utils.InternalError: (1366, "Incorrect string value: '\xE7\x94\xA8\xE6\x88\xB7...' for column 'name' at row 1")

看着像是编码的问题,请问是怎么回事?

docker版本使用的时候无法使用备份功能生成回滚sql

archer settings.py配置信息:
1514014273116
inception.conf 配置信息:
1514014569660
备份db(5621端口)用户权限信息:
1514014277292
archer debug 报错信息:
1514014257807
web界面报错信息,可以执行确无法生成回滚sql:
1514014764380
手动写了一个脚本测试inception,也是可执行无法备份,并且脚本指定了--enable-remote-backup:
1514014267938
想知道到底是哪里除了问题?

数据库版本问题

我是docker装的mysql8.0,
初始化数据库报错
return self.connection.mysql_version >= (5, 6, 4) and Database.version_info >= (1, 2, 5)
是不是不支持8.0哦

New logo for Acher

Hi, I designed a logo for Archer. I thought this logo was compatible with the name of the software. If there's something you want to edit, you can say it. Also, I added different color variations and fonts.

archer
archer2

目前这版审核人在待审核工单项中看不到工单,不具有终止pt-osc的权限,执行完毕收不到邮件。

Archer使用者,之前版本使用正常,最新版本的clone下来,只把原来的settings.py拷贝过去直接用的,并没有其他修改,遇见几个小问题,我感觉这对正式环境使用影响还是挺大的,没有别的意思,只希望archer越做越好,在这提一下这几个小问题 :

  1. 审核人在待审核工单项中看不到工单,只能在全部工单中看到待执行工单。
    1
    2

  2. 点进去执行,测试pt-osc进度条,审核人手动点按钮终止pt-osc操作,提示不能终止,提示非审核人(其实就是审核人)
    qq 20170627175549

  3. 工单结束后,收不到正常结束的邮件啊,这十分的不方便。

  4. SQL执行的时候,有个重新修改的按钮, 点完之后跳到 http://xx.xx.xx.xx/editsql/ ,好像就是导航页,只有发起SQL的人能使用么? 而且还是审核人只能在执行过程中才能看见,这样跳转的意义是让审核人重新再发起一条SQL麽 ? 和http://xx.xx.xx.xx/submitsql/ 感觉没有什么区别啊? 不知道这个按钮的作用。 而且审核人并没有发起的SQL的权限啊,我用审核人只能跳到下面导航页。 我记得咱们这个一个用户不能选定多个角色吧,没法既是工程师又是审核人啊,所以感觉对于审核人根本没啥意义啊,过程中发现问题,并不能提交修改SQL。 不知道是不是我个人理解有问题。
    3

关于慢查询获取不到信息

在两台虚拟机上跑脚本,均无法抓取慢日志里的sql记录到数据库,我的目标数据库和archer所在数据库,均有archer用户,并且all privileges;
慢日志中有内容,并且我也会删除last_analysis_time_$hostname这个文件,但还是抓取不到sql,但是很奇怪的抓取到了慢日志中的show语句:SHOW VARIABLES LIKE 'wait_timeout';

还请大神们帮忙看看

我的脚本配置:
#!/bin/bash
DIR="$( cd "$( dirname "$0" )" && pwd )"
cd $DIR

#config monitor database server 收集日志 配置archer数据库的连接地址
monitor_db_host="192.168.1.159"
monitor_db_port=3306
monitor_db_user="archer"
monitor_db_password="111111"
monitor_db_database="archer"

#config mysql server 被监控机
mysql_host="192.168.1.159" # 和archer主库配置保持一致
mysql_port=3306 # 和archer主库配置保持一致

#config slowqury 被监控机慢日志位置
slowquery_file="/data/mysql/slow.log"
pt_query_digest="/usr/local/bin/pt-query-digest"

#config server_id
hostname="${mysql_host}:${mysql_port}" # 用于archer做筛选

#获取上次分析时间,初始化时请删除last_analysis_time_$hostname文件,可分析全部日志数据
if [ -s last_analysis_time_$hostname ]; then
last_analysis_time=cat last_analysis_time_$hostname
else
last_analysis_time='1000-01-01 00:00:00'
fi

#collect mysql slowquery log into monitor database
#RDS需要增加--no-version-check选项
$pt_query_digest
--user=$monitor_db_user --password=$monitor_db_password --port=$monitor_db_port
--review h=$monitor_db_host,D=$monitor_db_database,t=mysql_slow_query_review
--history h=$monitor_db_host,D=$monitor_db_database,t=mysql_slow_query_review_history
--no-report --limit=100% --charset=utf8
--since "$last_analysis_time"
--filter="$event->{Bytes} = length($event->{arg}) and $event->{hostname}="$hostname" and $event->{client}=$event->{ip} "
$slowquery_file > /tmp/analysis_slow_query.log

echo date +"%Y-%m-%d %H:%M:%S">last_analysis_time_$hostname

在线查询数据time类型转换错误

在线查询数据功能,如果查询select * from table 时候报如下错误.

精确定位后发现,是字段数据类型为time时候就会报错.
日志显示入下
[2018-07-31 11:36:51,927][MainThread:140477748217600][task_id:default][exception_logging_middleware.py:10] [ERROR]- Traceback (most recent call l
ast):
File "/data/archer/sql/extend_json_encoder.py", line 52, in default
return convert(obj)
File "/data/venv4archer/lib/python3.6/functools.py", line 803, in wrapper
return dispatch(args[0].class)(*args, **kw)
File "/data/archer/sql/extend_json_encoder.py", line 26, in convert
raise TypeError('can not convert type')
TypeError: can not convert type

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/data/venv4archer/lib/python3.6/site-packages/django/core/handlers/base.py", line 132, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/data/venv4archer/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
return view_func(*args, **kwargs)
File "/data/archer/sql/query.py", line 724, in query
return HttpResponse(json.dumps(finalResult, cls=ExtendJSONEncoder, bigint_as_string=True),
File "/data/venv4archer/lib/python3.6/site-packages/simplejson/init.py", line 399, in dumps
**kw).encode(obj)
File "/data/venv4archer/lib/python3.6/site-packages/simplejson/encoder.py", line 286, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/data/venv4archer/lib/python3.6/site-packages/simplejson/encoder.py", line 368, in iterencode
return _iterencode(o, 0)
File "/data/archer/sql/extend_json_encoder.py", line 54, in default
return super(ExtendJSONEncoder, self).default(obj)
File "/data/venv4archer/lib/python3.6/site-packages/simplejson/encoder.py", line 263, in default
o.class.name)
TypeError: Object of type timedelta is not JSON serializable

支持多环境执行吗

场景:提交SQL到测试环境执行,然后上线的时候,可以直接在原来的单申请上线,然后执行到正式环境,不用重新提工单
我看原来inception是支持这样的操作

migrate error

环境:
python:3.4
django:1.8
mysql : 5.4.42
self.server_version = '5.6.24-72.2-log'

python3 manage.py migrate
python3 manage.py makemigrations
Traceback (most recent call last):
File "manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/core/management/init.py", line 354, in execute_from_command_line
utility.execute()
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/core/management/init.py", line 346, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/core/management/base.py", line 394, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/core/management/base.py", line 445, in execute
output = self.handle(*args, **options)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/core/management/commands/makemigrations.py", line 63, in handle
loader = MigrationLoader(None, ignore_no_migrations=True)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/migrations/loader.py", line 47, in init
self.build_graph()
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/migrations/loader.py", line 321, in build_graph
_reraise_missing_dependency(migration, parent, e)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/migrations/loader.py", line 291, in _reraise_missing_dependency
raise exc
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/migrations/loader.py", line 317, in build_graph
self.graph.add_dependency(migration, key, parent)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/migrations/graph.py", line 116, in add_dependency
parent
django.db.migrations.graph.NodeNotFoundError: Migration sql.0001_initial dependencies reference nonexistent parent node ('auth', '0007_alter_validators_add_error_messages')
[inception@vm_yw_20160927h archer-master]$ python3 manage.py makemigrations sql
Traceback (most recent call last):
File "manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/core/management/init.py", line 354, in execute_from_command_line
utility.execute()
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/core/management/init.py", line 346, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/core/management/base.py", line 394, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/core/management/base.py", line 445, in execute
output = self.handle(*args, **options)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/core/management/commands/makemigrations.py", line 63, in handle
loader = MigrationLoader(None, ignore_no_migrations=True)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/migrations/loader.py", line 47, in init
self.build_graph()
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/migrations/loader.py", line 321, in build_graph
_reraise_missing_dependency(migration, parent, e)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/migrations/loader.py", line 291, in _reraise_missing_dependency
raise exc
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/migrations/loader.py", line 317, in build_graph
self.graph.add_dependency(migration, key, parent)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/migrations/graph.py", line 116, in add_dependency
parent
django.db.migrations.graph.NodeNotFoundError: Migration sql.0001_initial dependencies reference nonexistent parent node ('auth', '0007_alter_validators_add_error_messages')
[inception@vm_yw_20160927h archer-master]$ python3 manage.py migrate
Traceback (most recent call last):
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/backends/utils.py", line 62, in execute
return self.cursor.execute(sql)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/backends/mysql/base.py", line 124, in execute
return self.cursor.execute(query, args)
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/cursors.py", line 166, in execute
result = self._query(query)
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/cursors.py", line 322, in _query
conn.query(q)
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/connections.py", line 852, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/connections.py", line 1053, in _read_query_result
result.read()
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/connections.py", line 1337, in read
first_packet = self.connection._read_packet()
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/connections.py", line 1010, in _read_packet
packet.check_error()
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/connections.py", line 393, in check_error
err.raise_mysql_exception(self._data)
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/err.py", line 107, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/core/management/init.py", line 354, in execute_from_command_line
utility.execute()
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/core/management/init.py", line 346, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/core/management/base.py", line 394, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/core/management/base.py", line 445, in execute
output = self.handle(*args, **options)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/core/management/commands/migrate.py", line 93, in handle
executor = MigrationExecutor(connection, self.migration_progress_callback)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/migrations/executor.py", line 19, in init
self.loader = MigrationLoader(self.connection)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/migrations/loader.py", line 47, in init
self.build_graph()
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/migrations/loader.py", line 191, in build_graph
self.applied_migrations = recorder.applied_migrations()
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/migrations/recorder.py", line 59, in applied_migrations
self.ensure_schema()
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/migrations/recorder.py", line 53, in ensure_schema
editor.create_model(self.Migration)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/backends/base/schema.py", line 286, in create_model
self.execute(sql, params or None)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/backends/base/schema.py", line 111, in execute
cursor.execute(sql, params)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/backends/utils.py", line 79, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/utils.py", line 98, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/backends/utils.py", line 62, in execute
return self.cursor.execute(sql)
File "/usr/local/python36/lib/python3.4/site-packages/Django-1.8.17-py3.4.egg/django/db/backends/mysql/base.py", line 124, in execute
return self.cursor.execute(query, args)
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/cursors.py", line 166, in execute
result = self._query(query)
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/cursors.py", line 322, in _query
conn.query(q)
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/connections.py", line 852, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/connections.py", line 1053, in _read_query_result
result.read()
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/connections.py", line 1337, in read
first_packet = self.connection._read_packet()
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/connections.py", line 1010, in _read_packet
packet.check_error()
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/connections.py", line 393, in check_error
err.raise_mysql_exception(self._data)
File "/usr/local/python36/lib/python3.4/site-packages/pymysql/err.py", line 107, in raise_mysql_exception
raise errorclass(errno, errval)
django.db.utils.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1")
尝试了很久,一直报这个错误

403 forbidden

安装部署archer之后一切正常,重启之后在web界面配置主机一直报403,查看各个地方的权限都没解决,希望告知原因

[22/Jan/2018 16:50:30] "GET /admin/sql/master_config/ HTTP/1.1" 403 22

审核人在终止审核的时候总是会报错,但是,返回工单查看,却已经终止成功

DoesNotExist at /cancel/

users matching query does not exist.

Request Method: POST
Request URL: http://192.168.31.128:9123/cancel/
Django Version: 1.8.17
Exception Type: DoesNotExist
Exception Value:

users matching query does not exist.

Exception Location: /usr/local/python/python3/lib/python3.4/site-packages/django/db/models/query.py in get, line 334
Python Executable: /usr/bin/python
Python Version: 3.4.6
Python Path:

['/opt/archer-master',
'/usr/local/python/python3/lib/python34.zip',
'/usr/local/python/python3/lib/python3.4',
'/usr/local/python/python3/lib/python3.4/plat-linux',
'/usr/local/python/python3/lib/python3.4/lib-dynload',
'/usr/local/python/python3/lib/python3.4/site-packages',
'/usr/local/python/python3/lib/python3.4/site-packages/distribute-0.7.3-py3.4.egg',
'/usr/local/python/python3/lib/python3.4/site-packages/pip-7.1.0-py3.4.egg',
'/usr/local/python/python3/lib/python3.4/site-packages/setuptools-0.6c11-py3.4.egg-info']

Server time: Fri, 30 Jun 2017 00:28:17 +0800

点击查看回滚语句报错

Mysql Error 1146: Table '101_37_23_170_3306_wctest.$$Inception_backup_information$$' doesn't exist
Error: returned listTables more than 1.
这个是什么问题?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.