提问人:Bramboox 提问时间:11/2/2023 最后编辑:ChrisBramboox 更新时间:11/4/2023 访问量:29
本地 postgres 数据库未与 Heroku postgres 数据库同步
Local postgres database not syncing with Heroku postgres database
问:
我正在用 Django 为我的非营利组织创建一个 CRM 系统。已经安装了一个本地 postgres 数据库,我在其中创建了一个表 students,并通过 Django Admin 界面添加了 2 行。当我通过在 localhost 上运行应用程序在 CSS 表中显示这些行时,这 2 条记录被正确显示。
迁移并推送 git 提交,然后运行应用程序的 Heroku 托管实例后。这两条记录不可见。
localhost:
Heroku 实例:
我不知道如何将我的本地更新推送到数据库到 heroku postgres 数据库。
在互联网上四处搜索并尝试重置数据库,但无济于事。
答:
0赞
Chris
11/2/2023
#1
这是设计使然。
数据库中的大多数数据是应用程序状态,而不是代码。它不是应用程序的一部分,就像您现在在浏览器中打开的选项卡不是浏览器应用程序的一部分一样。如果我正在运行该浏览器的另一个副本,我将拥有一组不同的选项卡。
迁移是 Django 将你对模型所做的更改(添加字段、删除模型等)传播到数据库架构中的方式
如果要复制数据,可以使用以下几个选项:
- 手动重新创建它,例如通过 Django 管理工具
- 转储本地数据库并将其摄取到生产数据库中,例如使用
pgdump
和heroku pg:backups:restore
- 将您的 Django 数据转储到固定装置并将其加载到 Heroku 中
不过,总的来说,我鼓励您将每个应用程序视为一个独立的东西,并拥有自己的数据。强制生产应用程序状态与本地开发状态匹配是非常有限的。
评论
0赞
Chris
11/2/2023
另请参阅有关Ruby on Rails的类似问题
评论