django - 如何忽略生产中的一些迁移
问题描述
错误地,现在生产和我的本地 Django 迁移存在不一致makemigrations
,当我在本地使用空数据库运行时,该命令将生成正确的迁移。例如,此迁移将生成:
class Migration(migrations.Migration):
dependencies = [
('campaign', '0208_auto_20190619_0929'),
]
operations = [
migrations.RemoveField(
model_name='bannerad',
name='average_price',
),
migrations.RemoveField(
model_name='bannerad',
name='click',
),
.... blah
migrations.AlterField(
model_name='bannerad',
name='size',
field=models.IntegerField(choices=[(0, '120x240'), (1, '120x600'), (2, '970x250'), (3, '160x600'), (4, '240x240'), (5, '300x100'), (6, '300x250'), (7, '468x60'), (8, '600x300'), (9, '728x90')]),
),
]
但是在生产中运行生成的迁移已经迁移(例如,生产数据库中的 Bannerad 模型没有average_price
)并且当我migrate
在生产中运行命令时。我该如何解决这个问题?
解决方案
--fake
您可以使用参数将迁移标记为已应用
例如,伪造每个未应用的迁移,包括0209
:
manage.py migrate --fake campaign 0209
请注意,您只能伪造完整的迁移,而不是迁移中的单个操作。
推荐阅读
- c# - 排序列表,除了一个带有 LINQ 的条目,排在最后
- mongodb - Mongodb 文档验证失败,代码为 121
- xcode - 包含多个二进制框架(包装 C 库)的 Swift 包
- database - Mongo db 没有启动
- azure - 天蓝色政策“修改”效果与补救
- shell - Gitlab 作业因 while 循环而失败
- datagrid - 我可以阻止人们在 ag-Grid 中编辑特定单元格吗?
- javascript - 如何使用 travel advisor api 加载酒店的图像和描述
- arduino - Arduino IDE 检测到错误的端口
- r - 如何在 R 中编写 CSV 文件