django应用程序在迁移到heroku mysql cleardb时抛出migrationschemamissing

ldioqlga  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(381)

因此,我使用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\u db\u name、heroku\u db\u username和heroku\u db\u password显然是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生成的,并且在我的本地机器上运行良好。如果这更有帮助的话,我可以发布整个错误跟踪。
谢谢您。

mw3dktmi

mw3dktmi1#

我有同样的问题,我有MySQLServer5.5,它似乎不支持Django2.1
所以我降到了django 2.0:

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

我在这里发现了这个想法:https://www.codetw.com/clxcyl.html

相关问题