为Django开发维护每个分支数据库

当您在多个分支上并行进行开发时,简单的git checkout将更新您的代码以匹配您喜欢的任何分支。但是不幸的是,如果您要连接的数据库在每个分支上的架构都不同,则断开连接会导致很多问题。

在进行Django开发时,为解决此问题,我为每个分支维护一个唯一的数据库,并设置了一个git挂钩,以确保每次分支切换后我都指向正确的数据库。

详细方法
在我的设置中,settings.py导入了一个未检入git的可选local_settings.py。
如果分支是master,staging或dev,则下面的git hook脚本将更改该文件中的BRANCH设置以匹配您刚切换到的分支。如果没有,它就一个人呆着。 (这里的想法是,您不想为每个一次性分支设置整个数据库,但是您可以-只需从脚本中删除if即可。)

结帐后git hook
将此脚本代码放在.git / hooks / post-checkout文件中,以设置BRANCH变量:

settings.py导入local_settings
在settings.py中,我们像这样加载local_settings.py:

local_settings.py使用BRANCH更改数据库
然后,local_settings.py应该包含以下内容: