2017-09-27 59 views

回答

0

当然有一些原因。

首先,'makemigrations'不会触及真正的数据库,它只是告诉django模型(数据库方案)是如何改变的,因此您可以在'迁移'时看到发生了什么。

这让django更安全。

这也提供了作出新的领域或DB改变默认选项..

另一个原因是“恢复”。 如果您想通过特定的迁移来回滚db scehme,那么可以告诉django回滚到特定的迁移文件。

另一个原因是'可重用应用'原则。 如果您使用django创建应用程序,并且可以使用no-db-interaction重复使用。这意味着,如果您将应用程序(或项目,也!)部署到另一个项目或服务器,它只需要“迁移”文件而不是真正的数据库。

+0

啊我明白了。非常感谢你解释这一点。超级赞赏!我认为写一个脚本来结合这两种行为本来是很容易的,而且看起来它会成为“包含电池”哲学的一部分 –