繁体   English   中英

重命名Django迁移文件是否安全?

[英]Is it safe to rename Django migrations file?

从Django 1.8开始, makemigrations命令具有--name, -n 选项 ,用于为创建的迁移文件指定自定义名称。

我想知道在旧版本的Django中使用自动生成的名称创建迁移文件是否安全,然后手动重命名该文件。 它似乎按预期工作。 有潜在的风险吗?

这是有效的,但有一点需要注意:Django将不再知道应用了重命名的迁移。

因此,重命名迁移的步骤如下:

  1. 重命名文件。
  2. 重新指向新文件的所有依赖项。
  3. 如果已应用重命名的迁移,请使用--fake再次应用它。

如果这是一个全新的迁移,2和3将不适用,重命名它们是完全正常的。

每当迁移被压扁时,Django就会发生这种情况。 生成包含类变量replaces的新文件,该文件列出了要替换的迁移文件。

因此,要重命名文件迁移文件,请在Migration类中添加以下变量:

replaces = [('app name', 'migration file name'), ]

一切都像文件更改之前一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM