删除旧迁移中使用的过时函数

Removing an obsolete function that's used in an old migration

我有一个旧的 Django 项目,该项目维护不善,有很多不再需要的功能。有一个名为 create_account 的函数不再需要,但它在旧的迁移文件中使用。

由于修改或删除旧的迁移文件是不好的做法,我想知道如果我删除该函数的使用然后删除该函数本身会发生什么。它会不会在生产中或当新开发人员加入项目并运行 migrate 来初始化他们的数据库时出现问题?

只需将函数移动到使用它的迁移即可。

修改旧的迁移只有在仍然需要时才是一个问题,也就是说,如果有(非一次性的)项目实例仍然没有被迁移,即使这样也只有当修改影响了迁移的结果时移民。就迁移而言,仅将一个功能从一个模块移动到迁移本身是幂等的——它的工作方式是一样的。