【发布时间】:2016-05-16 21:27:43
【问题描述】:
我在 Django 中重命名了一些模型,并使用 python manage.py makemigrations 创建了迁移。
使用python manage.py migrate 时,我收到以下消息提示
通过外键与这些内容类型相关的任何对象也将 被删除。您确定要删除这些内容类型吗? 如果您不确定,请回答“否”。
输入“yes”继续,或输入“no”取消:
在我的本地机器上,我可以简单地输入“是”。然而,
我的应用程序部署在 Heroku 上,并且我已将迁移配置为在构建应用程序时自动运行。我使用一个看起来像这样的post_compile 文件来实现这一点:
# Run Django migrations
./manage.py migrate
# Compress static assets
./manage.py compress
迁移是否会因为不在交互式 shell 中而无法完成(因此无法对这个问题回答“是”)?如果是这样,如何避免这个问题?
【问题讨论】:
-
一个选项是在heroku下运行
bash,然后在其交互环境下迁移:heroku run your-app-name bash -
@kaveh 感谢您的提示。我希望让它全部自动化,但那将是一个很好的后备。
标签: python django heroku database-migration