2017-07-26 51 views
1

在Django中< 1.7,你可以通过运行应用所有架构更改到空数据库:如何申请所有Django的迁移开始

manage.py syncdb --all 

然而,在Django> = 1.7,即使syncdb命令在技术上是仍然存在,因为--all选项不再可用,所以此功能似乎已被删除。命令本身似乎就在migrate的包装,所以运行它只是分别应用于所有迁移,如果你有很多的迁移,可以采取大量的时间。

我有我的模式初始化一个空数据库的脚本,以及使用什么花一分钟,现在需要近30,这是一个升级的疯狂性能下降。有什么方法可以恢复旧功能吗?

+0

的是,当您使用makemigrations问题?它一般适用于所有的应用程序 – Exprator

+0

@Exprator迁移,我有很多,应用程序间的依赖关系,所以即使我已经夷为平地我的迁移,makemigrations结果在几个应用程序有2个或3个初始迁移。运行迁移会导致每个运行而不是一个运行,并且它比1.6中的要慢得多。 – Cerin

回答

-1

试试这个python manage.py makemigrations所以在迁移文件夹,一个文档将被创建。在那里,您可以查看运行下一个命令时将应用的所有迁移。

然后

python manage.py migrate 

这将applay安装在您设置的所有应用程序的所有迁移。

+0

Y就应该recommendyou使在Django网站我的第一个应用程序的教程,让你更新你的小knowledte,1.7至1.13的大路上 –

+0

* *为什么要OP这条老命?你是否期望使用OP的生产环境来“看看会发生什么”?您可以通过识别和解释*实际问题*是什么以及为什么*您的帖子应该被视为解决方案来改善您的答案。 – ray

+0

哦,对不起,makemigrations实际上是在文档中创建所有迁移,以便您可以查看它们并迁移,应用迁移:D –