我有一个关于版本控制和数据库的问题。我的问题是我有一个稳定的分支“b1”,现在我创建了另一个分支“b2”并工作了几天。现在几天后我要切换到我以前的'b1'分支。
但我的问题是 Mysql 数据库仍然具有与“b2”分支相同的数据库。但是当我离开分支'b1'时,我想拥有相同的数据库,只有那些表和那些数据。
如何做到这一点?
我有一个关于版本控制和数据库的问题。我的问题是我有一个稳定的分支“b1”,现在我创建了另一个分支“b2”并工作了几天。现在几天后我要切换到我以前的'b1'分支。
但我的问题是 Mysql 数据库仍然具有与“b2”分支相同的数据库。但是当我离开分支'b1'时,我想拥有相同的数据库,只有那些表和那些数据。
如何做到这一点?
要自动执行此操作,您需要将所有数据库文件置于版本控制之下。此外,由于数据库服务器不希望这些文件在其不知情的情况下发生更改,因此您需要在切换分支时重新启动服务器。当然,如果正在写入数据库,您还需要在每次修改后提交更改(在 git 中)。
如果您需要此类功能,请考虑切换到更适合此类操作的无服务器数据库。例如,SQLite没有单独的服务器进程,并将所有数据库内容保存在一个文件中。
假设您使用的是开发快照数据,您可能只有两个不同的数据库,一个与 b1 一起使用的数据,另一个与分支 b2 一起使用。
在您的分支代码中修改数据库引用,以便在那里引用新数据库。