Kie*_*ran 3 python django heroku database-migration
我在Django中重命名了一些模型,并使用它创建了迁移python manage.py makemigrations.
使用时python manage.py migrate,我会收到以下消息提示
通过外键与这些内容类型相关的任何对象也将被删除.您确定要删除这些内容类型吗?如果您不确定,请回答"否".
输入"是"继续,或者"否"取消:
在我的本地机器上,我只需输入"是"即可.但是,我的应用程序部署在Heroku上,我已将迁移配置为在构建应用程序时自动运行.我使用如下所示的post_compile文件实现此目的:
# Run Django migrations
./manage.py migrate
# Compress static assets
./manage.py compress
Run Code Online (Sandbox Code Playgroud)
迁移是否会因为不在交互式shell中而无法完成(因此无法对此问题回答"是")?如果是这样,如何避免这个问题呢?
您可以使用--noinput命令的命令行参数migrate:
./manage.py migrate --noinput
Run Code Online (Sandbox Code Playgroud)
这会抑制提示,但不会删除陈旧的内容类型(即,它就像你No在提示时回答一样).查看Django门票#25036.
另一种选择是使用Unix命令yes(我不确定它是否默认在Heroku上启用):
yes "yes" | ./manage.py migrate
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2085 次 |
| 最近记录: |