2

Git 是一个很好的工具:您可以切换到以前的版本之一并将历史一分为二来定位错误。

但实际上您不能,因为当您切换到旧版本时,您的数据库仍处于其最新状态,因此您的Web 应用程序根本无法运行。

有没有关于如何解决这个问题的通用解决方案?

一些想法:

  • 我无法将整个数据库添加到每个提交中
  • 我不能使用前后迁移,因为我在向后迁移中丢失了数据。数据不是结构的一部分,但便于调试。
  • 当然,我需要一些与 Git 同步的东西(一个钩子?),否则我会得到额外的时间费用,这并不好。
4

2 回答 2

1

最干净的解决方案是使用一个脚本来创建一个包含虚拟/测试数据的数据库。由于此脚本和您的数据库结构将被版本化,它总是会创建正确的。

但是,您无法自动执行反向迁移,因为当前提交后发生的结构更改信息不可用。

于 2012-05-17T09:31:41.403 回答
1

试试这个工具

https://hub.docker.com/r/arelis/gitdb

它是对 mysql 的版本控制,并使用 git 控制版本

于 2021-08-26T16:17:24.557 回答