database - Flask Migrate 和 PostgreSQL 数据更新

标签 database postgresql flask flask-migrate

我目前正在建立一个基于 Python Flask(带有 Flask Migrate)和 PostgreSQL 数据库的项目。我在一个小团队中工作,对数据库更新有一些疑问。

据我所知,如果我更新 Flask 中的数据库架构,我将必须执行 flask db migrateflask db Upgrade 来应用更改。其他收到我的更新的人会执行 Flask 数据库升级来接收架构更改。一切都很好,但如果我更新了数据库中的行,如何将架构更改和数据更改传播到我的同级?

如果我迁移和升级我的flask数据库,然后使用psql导出转储,当我的同行收到更新时,他们是否只是导入数据转储?或者他们是否还必须执行 Flask 数据库升级?如果是这样,哪一个先出现? flask db升级后进行转储导入,还是转储导入后进行flask db升级

我不确定简单地导入具有更新架构的数据转储是否会扰乱 Flask Migrate 中的迁移提交。不确定这是否是正确的提问地点,但我希望能够在这里找到一些答案。 提前致谢!

编辑:到目前为止,我正在通过删除数据库并使用转储重新创建数据库来更新数据库中的数据,但我尚未尝试任何架构更改(项目正在进展,有点慢......)

编辑 2:忘记提及 PostgreSQL 的所有实例都本地托管在我们自己的计算机上

最佳答案

我对Flask及其迁移机制不是很熟悉。不过,我想这距离 Entity Framework 迁移功能已经不远了。如果是这样,问题就分为两部分:

首先,您需要使团队中的数据结构保持最新。这是简单的部分。一旦您对代码库中的实体(数据类)进行了更改,您就可以创建相关的迁移并提交/推送代码。每个人,包括你自己,只需根据可用的迁移来升级数据库即可。在此部分中,您的实际数据不会共享或发送给您的同事。

其次,您希望您的数据在人们之间共享。这里有一个简单的解决方案。您可以拍摄数据库快照/备份/转储并将其发送给所有团队。考虑他们应该在导入数据库之前运行升级。另一种选择是在互联网上共享公共(public)数据库。还有另一种解决方法。诸如 Entity Framework 之类的一些技术允许您通过类似于播种的方式传输数据。如果这在您的平台上不可用,您可以发布 SQL 脚本来创建/更新所需的数据。

关于database - Flask Migrate 和 PostgreSQL 数据更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64526055/

相关文章:

jquery - DataTables (serverSide) 在第一次请求时正常,在搜索或重新排序时请求中失败并显示 "[Object object"]

database - Redis + “source of truth” 数据库一致性

database - 基于选项卡的行拆分会错过空列 - Perl

ruby - 自动化具有输入的 Ruby Gem 安装

postgresql - 找出删除和更新的行

python - 使用 Flask 和 WTForms 链接表单时出现问题

database - 产品目录最具可扩展性的数据模型是什么?

sql - 如何通过 group by 和子查询计算来选择数据?

Postgresql 序列

python - python( flask )中函数的最大执行时间