首先,我只讨论我的开发数据库(development.sqlite3)。
我最近刚刚意识到,默认情况下,数据库不受版本控制(在创建模型和切换分支并尝试创建相同模型之后 - 我正在重做教程 - 我收到一条错误,说明它已经存在)。我检查了默认创建的.gitignore文件,实际上它不受版本控制。
# Ignore the default SQLite database.
/db/*.sqlite3
/db/*.sqlite3-journal
我发现这有点烦人,实际上担心它不受版本控制,但我确信这种默认行为是有充分理由的。
为什么数据库不受版本控制?
同样,如果我这样做,这是一个坏主意吗? (虽然我同意在完成对数据库的新CRUD之后继续将数据库提交到git会非常烦人)。
我该怎么做呢? - 我会认为能够切换分支(而不是主分支)并改变模型并且知道当我返回主分支并且知道我没有破坏任何东西(如果我没有合并)时很高兴当然)。
IMO最好的方法是为不同的分支创建单独的长期运行工作树:
git clone -b branch1 master-repo project-b1
git clone -b branch2 master-repo project-b2
在这些工作树中创建不同的DB结构/数据,不要切换分支。