我已经在我的heroku应用程序上配置了postgres,并在本地安装了postgres,以保持与在线数据库的一致性(正如文档所建议的那样),但我也不明白这是如何工作的。当我在自己的计算机上运行(在构建和部署之前),然后在部署后使用heroku的独立postgres数据库时,我是否应该访问数据库的本地副本?如果是奇偶校验,它们不应该都使用heroku postgres数据库吗?
换句话说,我的本地应用程序(在生产过程中)和heroku应用程序(部署和实时)是否会使用相同的在线postgres数据库?
谢谢。
发布于 2020-07-29 05:27:26
当我在自己的计算机上运行(在构建和部署之前),然后在部署后使用heroku的独立postgres数据库时,我是否应该访问数据库的本地副本?
是的,就是这样。如果看不到您引用的是什么文档,就很难说出它们的意思,但也许还有另一种方法来解释它。
在您的本地开发环境中,您可能会发现您需要测试数据库模式更改(这只是一个示例,有许多示例)。如果您只有一个heroku postgres数据库,您将被迫在生产环境中测试这些更改,这可能会导致您的用户的可用性很差,这甚至没有考虑到出错并意外破坏您的生产数据的可能性。这种单一的数据库配置还有许多其他的缺点和挑战。
出于这些或更多原因,最好通过创建本地/登台数据库来将生产数据与开发/登台/测试环境完全隔离。您可能会合理地问:“数据呢?我需要数据来测试!”有许多方法可以组合您的测试数据库,您可以根据自己的需要选择哪种方法。以下是可能的候选列表:
https://stackoverflow.com/questions/63064795
复制相似问题