假设你写了一个Django网站,使用git来管理源码。您的网站有多个实例(每个开发者至少一个)。
当您在提交中对模型执行更改时,每个人都需要更新自己的数据库。在某些情况下,运行 python manage.py migrate 就足够了,在其他一些情况下,您需要运行一些自定义 SQL 查询和/或运行一些 Python 代码来更新不同位置的值。
如何实现自动化?有没有一种干净的方法可以将这些“模型更新”(例如执行适当操作的小 shell 脚本)捆绑在相关的提交中?我考虑过为此使用 git hooks,但随着要运行的代码随着时间的推移而变化,我不清楚如何将它们用于该目的。
请您参考如下方法:
所有 对模型的更改都应该在迁移中。如果您“需要运行一些自定义 SQL 查询和/或运行一些 Python 代码来更新值”,那么这些也是迁移,应该写在迁移文件中。
