spug icon indicating copy to clipboard operation
spug copied to clipboard

Bug: 3.1.5 -> 3.2.4 升级之后出现数据库操作异常

Open NagaResst opened this issue 3 years ago • 1 comments

Spug 版本:

按照官网文档手动部署的 3.1.5版本运行一切正常 升级到3.2.4之后 无法登陆,登陆日志也查询不到东西。

已经登陆的用户却完全不受影响,应用配置和发版完全正常,系统设置的其他功能也没问题

127.0.0.1 - - [26/Aug/2022:10:44:53 +0800] "GET /account/user/ HTTP/1.0" 200 6965 "https://xxxxxx.xxxxxxxx.com/system/account" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36" File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/models/base.py", line 782, in save_base force_update, using, update_fields, File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/models/base.py", line 873, in _save_table result = self._do_insert(cls._base_manager, using, fields, update_pk, raw) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/models/base.py", line 911, in _do_insert using=using, raw=raw) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/models/query.py", line 1186, in _insert return query.get_compiler(using=using).execute_sql(return_id) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/models/sql/compiler.py", line 1377, in execute_sql cursor.execute(sql, params) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 99, in execute return super().execute(sql, params) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute return self._execute_with_wrappers(sql, params, many=False, executor=self._execute) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers return executor(sql, params, many, context) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute return self.cursor.execute(sql, params) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/utils.py", line 89, in exit raise dj_exc_value.with_traceback(traceback) from exc_value File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute return self.cursor.execute(sql, params) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/mysql/base.py", line 71, in execute return self.cursor.execute(query, args) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 206, in execute res = self._query(query) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 319, in _query db.query(q) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/MySQLdb/connections.py", line 254, in query _mysql.connection.query(self, query) django.db.utils.OperationalError: (1054, "Unknown column 'username' in 'field list'") Traceback (most recent call last): File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute return self.cursor.execute(sql, params) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/mysql/base.py", line 71, in execute return self.cursor.execute(query, args) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 206, in execute res = self._query(query) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 319, in _query db.query(q) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/MySQLdb/connections.py", line 254, in query _mysql.connection.query(self, query) MySQLdb.OperationalError: (1054, "Unknown column 'username' in 'field list'")

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

Traceback (most recent call last): File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/usr/lib64/python3.6/contextlib.py", line 52, in inner return func(*args, **kwds) File "/opt/spug/spug_api/apps/account/views.py", line 208, in login return handle_user_info(handle_response, request, user, form.captcha) File "/opt/spug/spug_api/apps/account/views.py", line 264, in handle_user_info handle_response() File "/opt/spug/spug_api/apps/account/views.py", line 236, in handle_login_record message=error File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/models/query.py", line 422, in create obj.save(force_insert=True, using=self.db) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/models/base.py", line 744, in save force_update=force_update, update_fields=update_fields) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/models/base.py", line 782, in save_base force_update, using, update_fields, File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/models/base.py", line 873, in _save_table result = self._do_insert(cls._base_manager, using, fields, update_pk, raw) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/models/base.py", line 911, in _do_insert using=using, raw=raw) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/models/query.py", line 1186, in _insert return query.get_compiler(using=using).execute_sql(return_id) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/models/sql/compiler.py", line 1377, in execute_sql cursor.execute(sql, params) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 99, in execute return super().execute(sql, params) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute return self._execute_with_wrappers(sql, params, many=False, executor=self._execute) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers return executor(sql, params, many, context) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute return self.cursor.execute(sql, params) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/utils.py", line 89, in exit raise dj_exc_value.with_traceback(traceback) from exc_value File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute return self.cursor.execute(sql, params) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/mysql/base.py", line 71, in execute return self.cursor.execute(query, args) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 206, in execute res = self._query(query) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 319, in _query db.query(q) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/MySQLdb/connections.py", line 254, in query _mysql.connection.query(self, query) django.db.utils.OperationalError: (1054, "Unknown column 'username' in 'field list'") Traceback (most recent call last): File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute return self.cursor.execute(sql, params) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/django/db/backends/mysql/base.py", line 71, in execute return self.cursor.execute(query, args) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 206, in execute res = self._query(query) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/MySQLdb/cursors.py", line 319, in _query db.query(q) File "/opt/spug/spug_api/venv/lib64/python3.6/site-packages/MySQLdb/connections.py", line 254, in query _mysql.connection.query(self, query) MySQLdb.OperationalError: (1054, "Unknown column 'login_histories.username' in 'field list'")

NagaResst avatar Aug 26 '22 03:08 NagaResst

看起来是数据库表结构没有更新,可以尝试在执行 python manage.py updatedb

vapao avatar Sep 02 '22 14:09 vapao