我可以想到三个原因:
为用户提供灵活性"当"提交模型更改
调试模块化
或许资源消耗更大 数据库
但是,似乎迁移后不久就会发生迁移(教程/ youtube视频)。 那背后有一个我失踪的哲学吗?
答案 0 :(得分:0)
当然有一些原因。
首先,' makemigrations'没有触及真正的数据库,它只是告诉django模型(数据库方案)是如何变化的,这样你就可以看到当你进行“迁移”时会发生什么。
这使得django更安全。
这也为新字段或数据库更改提供了默认选项..
其他原因是'还原'。 如果您想使用特定迁移回滚db scehme,您可以告诉django回滚到特定的迁移文件。
另一个原因是' reusable-app'原理。 如果您使用django创建应用程序,它可以通过no-db-interaction重用。这意味着如果您将应用程序(或项目)也部署到另一个项目或服务器,它只需要迁移'文件不是真正的数据库。