【发布时间】:2022-02-13 12:55:07
【问题描述】:
我一直在努力解决以下问题: 我有一个在远程 Web 主机上运行的 MySQL 数据库。我在我的 Django 应用程序中连接到 MySQL 数据库(我将其用作主数据库)。 Django 应用在 Heroku 服务器上运行,但与在本地运行相比,我得到不同的数据结果。
是我遗漏了什么,还是对 Heroku 所做的更改未提交到数据库?
MySQL 设置:
DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'xxx',
'USER': 'xxx',
'PASSWORD': 'xxx',
'HOST': 'xxx',
'PORT': 'xxx',
}
}
【问题讨论】:
-
请显示您的设置。您确定 Heroku 上的应用程序正在连接到远程 MySQL 数据库吗?
-
用 MySQL 设置更新了问题。是的,我敢肯定,尽管 MySQL 数据库是在 Django 应用程序中配置的,而不是在 Heroku 中(如果可能/必要的话)。
-
并且该设置文件中没有其他内容可以覆盖该 DATABASES 设置?
-
不,它是文件中唯一的 DATABASES 设置。是否需要在 Heroku 上托管您的数据库,或者是否应该这样做(如果设置正确)?
-
假设您的 MySQL 数据库设置为接受来自互联网的连接,这应该可以工作。但如果没有,您的网站将根本无法运行;你不会只是得到不同的数据。这就是为什么我能想到的唯一解释是你以某种方式覆盖了你的设置。很抱歉一直坚持,但例如,你确定没有给
dj_database_url打电话吗?
标签: python mysql django heroku