我正在考虑将命令release: python manage.py migrate --no-input
添加到我的部署中,因此一旦我推送存储库,Heroku就会自动迁移。我现在想知道--no-input
是否是个“好主意”?
一个更具体的问题:如果通常迁移会问我“您是否重命名了此字段”。使用--no-input
,它会自动回答是吗?在官方的Django文档中找不到很多详细的信息。
答案 0 :(得分:1)
我们在管道中不使用 interactive 标志(--no-input
),据我所知,它并没有太大的区别。如果检查了Django源代码,您会发现交互式标记仅落入迁移之前和迁移之后发出的pre_migrate
和post_migrate
信号中。
据我所知,没有内部Django应用在这些信号中使用交互式参数。某些外部软件包也许可以使用它,但是我个人从未遇到过。
关于您的问题:
一个更具体的问题:如果通常迁移会问我“您是否重命名了此字段”。使用--no-input,它会自动回答是吗?在官方的Django文档中找不到很多详细的信息。
这发生在makemigrations
管理命令中,而不发生在migrate
中。您通常会在本地进行(并且应该这样做),因此无需在部署管道中添加。