我如何管理数据库的状态到我当前的分支

How can i manage the state of the database to my current branch

我最近对一个分支进行了更改,我们将其命名为 Branch A,我更改了实体之间的关系,并重命名了一些属性。我创建了迁移并将它们应用到我们的 Postgres 数据库,到目前为止还不错。我提交并将迁移推送到 git 存储库并创建了一个拉取请求。现在在等同事的review 合并到master分支

现在是问题。

我开始处理下一个项目并创建了另一个分支,Branch B。我是从 master 创建的,所以 Branch B 没有我用 Branch A 所做的更改,但是数据库有,因为我们没有将它纳入源代码管理。当然,现在我得到了错误,因为它找不到 Branch A 重命名的 属性 和 Branch B 尚未重命名的 属性 的数据。我可以删除数据库并在初始迁移时重新创建它,但这需要大量工作,而且我会丢失数据。

我们正在使用 .NET 5 和 EF Core,数据库提供程序是 Postgres。

那么,如何在不将数据库添加到源代码管理的情况下解决这个问题?

您可以尝试将之前的迁移(从主服务器)应用到您已经更新的数据库。它会尝试撤销更改。检查下面的 link: