我设法让它在本地工作(不同的集群,单独的settings.py),但部署到Heroku之后就不行了
Heroku-自动添加带有postgresql的数据库URL配置变量,我无法删除/编辑它
MongoDB Atlas-我已经将MongoDB Atlas集群设置为允许来自任何地方的IP。而且密码没有有趣的字符
django生产设置.py
DATABASES = {
'default': {
'ENGINE': 'djongo',
'NAME': 'DBProd',
'CLIENT': {
'host': "mongodb+srv://XXX:YYY@ZZZ.pc4rx.mongodb.net/DBProd?retryWrites=true&w=majority",
}
}
}
我在部署之后直接运行了迁移,结果都是绿色的OK
heroku run python manage.py migrate
一切都能正常工作,只是数据没有存储在MongoDB Atlas集群中。有很多来自不同网站的帖子,但是它们都有不同的说明。。。我试图关注的一些帖子:
一个非常困惑的初学者
这也发生在我身上,在我的例子中,Heroku不知何故添加了postgresql作为我应用程序的附加组件,所以必须先删除它。 查看有关postgresql和如何销毁加载项的Heroku文档: https://devcenter.heroku.com/changelog-items/438
https://devcenter.heroku.com/articles/managing-add-ons
然后,您需要通过添加带有数据库url的
MONGODB_URI config var
来将MongoDB配置为您的数据库。您现在应该准备好连接到MongoDB了以下文档也有帮助: https://www.mongodb.com/developer/how-to/use-atlas-on-heroku/
不管是谁降落在这里。在
'host'
下面添加'authMechanism': 'SCRAM-SHA-1',
将解决此问题相关问题 更多 >
编程相关推荐