gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 11:27:29 25 4
gpt4 key购买 nike

所以我使用 MySQL 而不是 SQlite 构建了一个简单的应用程序,当我在本地主机上部署时一切都很好地迁移,本地主机数据库设置如下所示:

# 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_name、heroku_db_username 和 heroku_db_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 生成的,并且在我的本地机器上运行良好。如果这会更有帮助,我可以发布整个错误跟踪。

谢谢。

最佳答案

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

所以我降级到 Django 2.0:

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

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

关于python - Django 应用程序在迁移到 heroku MySQL ClearDB 时抛出 MigrationSchemaMissing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53148918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com