Django 迁移:如何只允许在 --fake 模式下运行?

Posted

技术标签:

【中文标题】Django 迁移:如何只允许在 --fake 模式下运行?【英文标题】:Django migration: how to only allow running in --fake mode? 【发布时间】:2015-09-22 09:12:32 【问题描述】:

我正在从 Django 1.6 升级到 1.8

因此,存在大量迁移和一些向后(不)兼容性问题,我正在使用“修补”缺少表的数据库的迁移来解决这些问题。

一些迁移应该只在--fake 模式下运行,所以我想知道是否有办法,000x_migration.py 文件中,可以做到这一点。

谢谢:)

【问题讨论】:

【参考方案1】:

您可以使用SeparateDatabaseAndState 操作来有效地始终伪造这些特定操作。如果将原始操作放在state_operations 中,Django 会认为它们已应用,但它们永远不会对数据库产生任何影响。

【讨论】:

听起来棒极了!我试试看

以上是关于Django 迁移:如何只允许在 --fake 模式下运行?的主要内容,如果未能解决你的问题,请参考以下文章

使用 --fake 后如何在 django 1.8 上重做迁移

即使使用“--fake”,Django 迁移缓慢且资源密集

修改 Django 迁移文件,或使用 --fake 标志?

Django 迁移失败并显示“__fake__.DoesNotExist:权限匹配查询不存在”。

如果 AddField 引用“相同”列,则带有“--fake-initial”的 Django 迁移不起作用

自动伪造 Django 迁移