为了账号安全,请及时绑定邮箱和手机立即绑定

如何将数据库置于git(版本控制)下?

如何将数据库置于git(版本控制)下?

Git
墨色风雨 2019-10-23 16:31:11
我正在做一个Web应用程序,我需要对一些主要更改进行分支,事实是,这些更改需要更改数据库架构,因此我也希望将整个数据库置于git下。我怎么做?我可以在git存储库下保存一个特定的文件夹吗?我怎么知道哪一个?如何确定要放入正确的文件夹?我需要确定,因为这些更改不是向后兼容的。我无力承担。我的数据库是PostgreSQL编辑:有人建议进行备份,并将备份文件置于版本控制下而不是数据库中。老实说,我发现这真的很难下咽。一定有更好的方法。更新:好的,因此没有更好的方法,但是我仍然不太确信,所以我将稍微改变一下问题:我想将整个数据库置于版本控制下,我可以使用哪个数据库引擎,以便可以将实际数据库置于版本控制下而不是其转储?sqlite是git友好的吗?由于这只是开发环境,因此我可以选择所需的任何数据库。编辑2:我真正想要的不是跟踪我的开发历史,而是能够从我的“新的根本性变化”分支切换到“当前稳定的分支”,并能够例如使用当前版本修复一些错误/问题等。稳定分支。这样,当我切换分支时,数据库会自动与我当前所在的分支兼容。我不太在乎实际数据。
查看完整描述

3 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

进行数据库转储,然后进行版本控制。这样,它是一个纯文本文件。


我个人建议您同时保留数据转储和架构转储。通过使用diff的这种方式,可以很容易地看到模式在修订之间的变化。


如果要进行大的更改,则应该有一个辅助数据库,您可以在其中更改新的架构,而不要触摸旧的数据库,因为正如您所说的,在进行分支。


查看完整回答
反对 回复 2019-10-23
?
炎炎设计

TA贡献1808条经验 获得超4个赞

我开始想到一个非常简单的解决方案,不知道为什么我以前没有想到过!


复制数据库(模式和数据)。

在new-major-changes的分支中,只需将项目配置更改为使用新的重复数据库即可。

这样,我可以切换分支而不必担心数据库架构更改。


编辑:

通过重复,我的意思是创建另一个具有不同名称的数据库(例如my_db_2);不做转储或类似的事情。


查看完整回答
反对 回复 2019-10-23
  • 3 回答
  • 0 关注
  • 753 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信