Git 和数据库状态

标签 git

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

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

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

一些想法:

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

最佳答案

最干净的解决方案是使用一个脚本来创建带有虚拟/测试数据的数据库。由于该脚本和您的数据库结构将被版本控制,因此它始终会创建正确的脚本。

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

关于Git 和数据库状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10633020/

相关文章:

git - 如何列出 Git 1.7+ 中的所有远程分支?

ios - 在 iOS 中使用 cocoapods 安装 Google-API-Client 时出错

git - 在 Github 中 merge pull 请求时触发 Jenkins 构建

git - 只取一部分git commit,push到github

git - .gitignore 工作错误, checkout 分支时文件消失

git - Mercurial 使用哪些 merge 策略?

git - 在选择进行编辑的 git rebase 中以交互方式删除提交

Git:保留当前代码状态和​​最后四次提交

php - 如何在 Openshift 中打开数据库连接?

git - 如何向 git 提交消息添加多行