Django的:python manage.py migration --noinput

时间:2018-09-02 18:41:25

标签: django

我正在考虑将命令release: python manage.py migrate --no-input添加到我的部署中,因此一旦我推送存储库,Heroku就会自动迁移。我现在想知道--no-input是否是个“好主意”?

一个更具体的问题:如果通常迁移会问我“您是否重命名了此字段”。使用--no-input,它会自动回答是吗?在官方的Django文档中找不到很多详细的信息。

1 个答案:

答案 0 :(得分:1)

我们在管道中不使用 interactive 标志(--no-input),据我所知,它并没有太大的区别。如果检查了Django源代码,您会发现交互式标记仅落入迁移之前和迁移之后发出的pre_migratepost_migrate信号中。

据我所知,没有内部Django应用在这些信号中使用交互式参数。某些外部软件包也许可以使用它,但是我个人从未遇到过。

关于您的问题:

  

一个更具体的问题:如果通常迁移会问我“您是否重命名了此字段”。使用--no-input,它会自动回答是吗?在官方的Django文档中找不到很多详细的信息。

这发生在makemigrations管理命令中,而不发生在migrate中。您通常会在本地进行(并且应该这样做),因此无需在部署管道中添加。