我正在编写一个django模型迁移,它将删除数据库中所有现有的(模型)对象。
是否可以在实际迁移之前警告用户?
我想提醒用户在实际迁移之前备份数据。
我可以从用户那里拿一个raw_input()
然后继续,如果他真的想要它吗?
如何在执行期间取消迁移?
答案 0 :(得分:3)
您可以在RunPython
操作中执行任何操作 - 包括请求用户输入和引发异常以取消迁移。
在所有操作成功之前,迁移不会被标记为已应用。只需确保在同一个迁移文件中的任何其他操作之前运行要求确认的RunPython
操作。如果您不这样做,并且用户取消迁移,则可能会使数据库处于与部分应用的迁移不一致的状态。