mysql - 如何在 Heroku 上从 MySQL 切换到 Postgre
问题描述
我想在 heroku 上托管一个 django 项目。在本地,我使用 MySQL 数据库开发它。而且我也将它推送到heroku,但是每当我heroku open
在命令提示符下运行命令时都会收到一条错误消息。错误信息是Can't connect to local MySQL server through socket
. 虽然我是使用数据库的新手,但我理解错误的方式是 heroku 无法连接到我用于本地开发的本地 MySQL 服务器。我不想连接到远程 MySQL 数据库,而是想按照 heroku 的建议连接到 Postgre 数据库。作为一个使用数据库的新手,我不知道迁移到 Postgre 的最佳方式,也不知道如何在我的项目中将 MySQL 添加到 .gitignore。在没有将 MySQL 添加到 . gitignore 并且仍然是 settings.py 中的数据库?在我可以使用 Postgre 之前,我必须清除 MySQL 数据库或将其添加到 gitignore 吗?
解决方案
Heroku 的 PostgreSQL 设置:
- 请
dj_database_url
使用以下命令安装:
pip install dj-database-url
- 在
settings.py
中,导入dj_database_url
并在文件末尾添加以下设置:
import dj_database_url
db_from_env = dj_database_url.config(conn_max_age=500)
DATABASES['default'].update(db_from_env)
完毕 !!现在,再次部署到 Heroku。
推荐阅读
- git - Github在拉取请求中反转合并方向
- angular8 - Angular8:返回JSON数据的Rest API想要在下拉列表中绑定唯一数据
- android - 当导航到另一个屏幕时屏幕或按钮上的多个单击事件时,应用程序会最小化
- setuptools - 无法在 ai 平台自定义预测中使用 configparser
- python - 如何在 python 中使用 stats.norm 来解决以下与概率分布相关的问题
- sql-server - 将转义字符作为确切短语的一部分 - 全文 T-SQL
- amazon-web-services - 使用 aws cli 的 Jenkins Groovy 脚本和 dynamodb 查询不起作用
- python - AttributeError: 'tuple' 对象没有属性 'lower' sentiword
- reactjs - 未捕获的错误:反应中的重新渲染过多
- sql - sql中最大值的计数