【发布时间】:2017-02-13 10:45:37
【问题描述】:
我有一个名为 oldName 的带有 CharField 的模型。我想将该字段重命名为 newName。
当我运行 python manage.py makemigrations 时,我收到一个确认请求“您是否将 model.oldName 重命名为 model.newName(一个 CharField)?[y/N]”
但是,我想在 docker 容器内运行整个事情,并且没有提供用户输入的规定。有没有一种无需用户输入即可强制迁移的方法?
PS:我尝试了使用 makemigrations 的 --noinput 选项。在这种情况下,不会应用迁移。
【问题讨论】:
-
使用
migrate命令应用的迁移。 -
我在
makemigrations之后运行了migrate命令 -
你为什么要在 docker 里面做这个?迁移是源代码的一部分。
-
这也是一个选择。即使我想在外面做,是否可以跳过用户输入部分。如果有很多这样的例子会有所帮助。
-
试试这个
script_or_command < <(yes y)。
标签: python django rename makemigrations