Python Django应用程序在迁移到heroku MySQL ClearDB时抛出MigrationSchemaMissing

Python Django应用程序在迁移到heroku MySQL ClearDB时抛出MigrationSchemaMissing,python,mysql,django,heroku,Python,Mysql,Django,Heroku,因此,我使用MySQL而不是SQlite构建了一个简单的应用程序,当我在localhost上部署时,所有内容都能很好地迁移,localhost DB设置如下所示: # DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.mysql', # 'NAME': 'news', # 'USER': 'myname', # 'PASSWORD': 'my_passw

因此,我使用MySQL而不是SQlite构建了一个简单的应用程序,当我在localhost上部署时,所有内容都能很好地迁移,localhost DB设置如下所示:

# DATABASES = {
#     'default': {
#         'ENGINE': 'django.db.backends.mysql',
#         'NAME': 'news',
#         'USER': 'myname',
#         'PASSWORD': 'my_password',
#         'HOST': 'localhost',   
#         'PORT': '',
#
#     }
# }
但是为了使用ClearDB插件部署到heroku,我将设置更改为:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'heroku_db_dbname',
    'USER': 'heroku_db_username',
    'PASSWORD': 'heroku_db_password',
    'HOST': 'us-cdbr-iron-east-01.cleardb.net',
    'PORT': '3306',

}
}

heroku_db_名称、heroku_db_用户名和heroku_db_密码显然是heroku的实际值

该应用程序部署得很好,减去数据库,我可以在运行后进行迁移,而不会出现任何问题

python manage.py migrate
我得到了一个MigrationSchemaMissing异常,更具体地说:

django.db.migrations.exceptions.MigrationSchemaMissing: 
Unable to create the django_migrations table ((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"))
我不确定怎么会有语法错误,因为所有的SQL都是由django生成的,并且在我的本地机器上运行良好。如果这更有帮助的话,我可以发布整个错误跟踪


谢谢。

我也有同样的问题,我有MySQL服务器5.5,似乎Django 2.1不支持它

因此,我降级到Django 2.0:

pip install Django==2.0.0 -i https://pypi.douban.com/simple

我在这里发现了这个想法:

我也有同样的问题,我有MySQL服务器5.5,似乎Django 2.1不支持它

因此,我降级到Django 2.0:

pip install Django==2.0.0 -i https://pypi.douban.com/simple

我在这里找到了这个想法:

尝试授予对模式的访问权-将模式public上的用法授予public;将创建模式public授予public;侧记:不要硬编码数据库设置,而是考虑使用类似的东西或从环境中提取数据库连接信息。将创建模式public授予public;侧记:不要硬编码数据库设置,而是考虑使用类似的东西或从环境中提取数据库连接信息。