在MariaDB 10.5.8上运行Django迁移时出现问题

在MariaDB 10.5.8上运行Django迁移时出现问题,django,mariadb,mysql-python,django-migrations,Django,Mariadb,Mysql Python,Django Migrations,我一直在尝试从mysql数据库(版本5.7.26-29-31.37-log-output from SELECT version())迁移到mariadb(版本10.5.8-mariadb-log-output from SELECT version()) 此外,我还看到django并将其从2.2版更新到3.1.5版,因为3.0版正式支持mariadb。有了这个,我还将mysqlclient库更新为2.0.3 但是,在服务器上运行“migrate”命令时,在使用新的DB:decimal.inva

我一直在尝试从mysql数据库(版本5.7.26-29-31.37-log-output from SELECT version())迁移到mariadb(版本10.5.8-mariadb-log-output from SELECT version())

此外,我还看到django并将其从2.2版更新到3.1.5版,因为3.0版正式支持mariadb。有了这个,我还将mysqlclient库更新为2.0.3

但是,在服务器上运行“migrate”命令时,在使用新的DB:decimal.invalidooperation:[]

以下是堆栈跟踪:

DEBUG (0.008) SELECT @@SQL_AUTO_IS_NULL; args=None
DEBUG (0.007) SHOW FULL TABLES; args=None
DEBUG (0.007) SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; args=None
DEBUG (0.008) SHOW FULL TABLES; args=None
OUT Operations to perform:
OUT Apply all migrations: admin, auth, contenttypes, my_auth, essay, multichoice, quiz, sessions, sites, social_django, true_false
OUT Running pre-migrate handlers for application auth
OUT Running pre-migrate handlers for application contenttypes
OUT Running pre-migrate handlers for application sessions
OUT Running pre-migrate handlers for application sites
OUT Running pre-migrate handlers for application admin
OUT Running pre-migrate handlers for application quiz
OUT Running pre-migrate handlers for application multichoice
OUT Running pre-migrate handlers for application true_false
OUT Running pre-migrate handlers for application essay
OUT Running pre-migrate handlers for application my_auth
OUT Running pre-migrate handlers for application social_django
OUT Running migrations:
ERR [2021-01-06 09:32:31,188] (utils) DEBUG (0.007) SHOW FULL TABLES; args=None
ERR [2021-01-06 09:32:31,196] (utils) DEBUG (0.007) None; args=None
ERR Traceback (most recent call last):
ERR File "runapp.py", line 90, in <module>
ERR migrate()
ERR File "runapp.py", line 29, in migrate
ERR call_command("migrate", "-v 3", "--traceback")
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 168, in call_command
ERR return command.execute(*args, **defaults)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/core/management/base.py", line 371, in execute
ERR output = self.handle(*args, **options)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/core/management/base.py", line 85, in wrapped
ERR res = handle_func(*args, **kwargs)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/core/management/commands/migrate.py", line 245, in handle
ERR fake_initial=fake_initial,
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/migrations/executor.py", line 91, in migrate
ERR self.recorder.ensure_schema()
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/migrations/recorder.py", line 68, in ensure_schema
ERR editor.create_model(self.Migration)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/backends/base/schema.py", line 322, in create_model
ERR sql, params = self.table_sql(model)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/backends/base/schema.py", line 159, in table_sql
ERR definition, extra_params = self.column_sql(model, field)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/backends/base/schema.py", line 212, in column_sql
ERR db_params = field.db_parameters(connection=self.connection)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 718, in db_parameters
ERR check_string = self.db_check(connection)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 666, in db_check
ERR return connection.data_type_check_constraints[self.get_internal_type()] % data
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/utils/functional.py", line 48, in __get__
ERR res = instance.__dict__[self.name] = self.func(instance)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 344, in data_type_check_constraints
ERR if self.features.supports_column_check_constraints:
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/utils/functional.py", line 48, in __get__
ERR res = instance.__dict__[self.name] = self.func(instance)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/backends/mysql/features.py", line 104, in supports_column_check_constraints
ERR if self.connection.mysql_is_mariadb:
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/utils/functional.py", line 48, in __get__
ERR res = instance.__dict__[self.name] = self.func(instance)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 372, in mysql_is_mariadb
ERR return 'mariadb' in self.mysql_server_info.lower()
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/utils/functional.py", line 48, in __get__
ERR res = instance.__dict__[self.name] = self.func(instance)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 360, in mysql_server_info
ERR cursor.execute('SELECT VERSION()')
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/backends/utils.py", line 98, in execute
ERR return super().execute(sql, params)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/backends/utils.py", line 66, in execute
ERR return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
ERR return executor(sql, params, many, context)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/backends/utils.py", line 82, in _execute
ERR return self.cursor.execute(sql)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 73, in execute
ERR return self.cursor.execute(query, args)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/MySQLdb/cursors.py", line 206, in execute
ERR res = self._query(query)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/MySQLdb/cursors.py", line 321, in _query
ERR self._post_get_result()
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/MySQLdb/cursors.py", line 355, in _post_get_result
ERR self._rows = self._fetch_row(0)
ERR File "/home/vcap/deps/0/python/lib/python3.6/site-packages/MySQLdb/cursors.py", line 328, in _fetch_row
ERR return self._result.fetch_row(size, self._fetch_type)
ERR decimal.InvalidOperation: [<class 'decimal.ConversionSyntax'>]
DEBUG(0.008)选择@SQL\u AUTO\u为空;args=None
调试(0.007)显示完整的表格;args=None
调试(0.007)设置会话事务隔离级别读取已提交;args=None
调试(0.008)显示完整的表格;args=None
执行以下操作:
应用所有迁移:管理、授权、内容类型、我的授权、文章、多选、测验、会话、站点、社交活动、真假
正在为应用程序身份验证运行预迁移处理程序
未运行应用程序ContentType的预迁移处理程序
正在为应用程序会话运行预迁移处理程序
正在为应用程序站点运行预迁移处理程序
正在为应用程序管理员运行预迁移处理程序
正在为应用程序测试运行预迁移处理程序
正在运行应用程序多选择的预迁移处理程序
未运行应用程序的预迁移处理程序true\u false
正在运行应用程序的预迁移处理程序
正在为应用程序my_auth运行预迁移处理程序
正在为应用程序social_django运行预迁移处理程序
正在运行的迁移:
ERR[2021-01-06 09:32:31188](utils)调试(0.007)显示完整的表格;args=None
错误[2021-01-06 09:32:31196](utils)调试(0.007)无;args=None
错误回溯(最近一次呼叫最后一次):
错误文件“runapp.py”,第90行,在
errmigrate()
迁移中第29行的错误文件“runapp.py”
errcall_命令(“migrate”、“-v3”、“-traceback”)
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/core/management/_init__.py”,第168行,在call_命令中
ERR return命令。执行(*args,**默认值)
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/core/management/base.py”,第371行,在execute中
ERR output=self.handle(*args,**选项)
错误文件“/home/vcap/deps/0/python/lib/python3.6/site-packages/django/core/management/base.py”,第85行,包装
ERR res=handle_func(*args,**kwargs)
handle中的错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/core/management/commands/migrate.py”,第245行
错误假首字母=假首字母,
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/db/migrations/executor.py”,第91行,在migrate中
ERR self.recorder.sure_schema()
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/db/migrations/recorder.py”,第68行,在模式中
ERR editor.create_模型(self.Migration)
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/db/backends/base/schema.py”,第322行,在create_模型中
ERR sql,params=self.table_sql(模型)
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/db/backends/base/schema.py”,第159行,在表2中
错误定义,额外参数=self.column\u sql(模型,字段)
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/db/backends/base/schema.py”,第212行,在sql列中
ERR db_params=field.db_参数(connection=self.connection)
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/db/models/fields/_init__.py”,第718行,在db_参数中
ERR check\u string=self.db\u check(连接)
错误文件“/home/vcap/deps/0/python/lib/python3.6/site-packages/django/db/models/fields/_-init__;.py”,第666行,在db\u-check中
返回连接时出错。数据类型检查约束[self.get\u internal\u type()]%data
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/utils/functional.py”,第48行,在__
ERR res=instance.\uuuu dict\uuuu[self.name]=self.func(实例)
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/db/backends/mysql/base.py”,第344行,在数据类型检查约束中
如果self.features.supports\u column\u check\u约束,则出错:
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/utils/functional.py”,第48行,在__
ERR res=instance.\uuuu dict\uuuu[self.name]=self.func(实例)
ERR File“/home/vcap/deps/0/python/lib/python3.6/site packages/django/db/backends/mysql/features.py”,第104行,在supports\u column\u check\u constraints中
如果self.connection.mysql\u为\u,则出错:
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/utils/functional.py”,第48行,在__
ERR res=instance.\uuuu dict\uuuu[self.name]=self.func(实例)
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/db/backends/mysql/base.py”,第372行,mysql\u is\u
在self.mysql\u server\u info.lower()中返回'mariadb'时出错
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/utils/functional.py”,第48行,在__
ERR res=instance.\uuuu dict\uuuu[self.name]=self.func(实例)
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/db/backends/mysql/base.py”,第360行,在mysql\u server\u info中
ERR cursor.execute('SELECT VERSION()'))
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/db/backends/utils.py”,执行中的第98行
ERR return super().execute(sql,参数)
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/db/backends/utils.py”,执行中的第66行
ERR return self.\u使用包装器执行(sql、参数、many=False、executor=self.\u execute)
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/db/backends/utils.py”,第75行,带包装器的执行
错误返回执行器(sql、参数、多个、上下文)
错误文件“/home/vcap/deps/0/python/lib/python3.6/site packages/django/db/backends/utils.py”,第82行,在
ERR返回self.cursor.execute(sql)
错误文件“/home/vcap/d
DATABASES = {
    'default': {
        'ENGINE': 'mysql.connector.django',
        'NAME': 'db_name',
        'USER': 'db_user',
        'PASSWORD': 'db_password',
        'HOST': 'db_host',
        'PORT': 3306,
        'OPTIONS': {
                'autocommit': True,
                'raise_on_warnings': True,
        },
    }
}