1
在生产服务器上的Django应用程序我以这种方式在服务器上运行的迁移:防止FieldDoesNotExist迁移
- 上传models.py文件服务器与一些新的领域
sfield
IM模式Mobject
- 在执行makemigration命令manage.py
- 在manage.py中执行migrate命令 但是,在第一步结束和第三步结束之间有一些请求失败,并且出现了
django.core.exceptions.FieldDoesNotExist: Mobject has no field named 'sfield'
(这很明显,因为django ORM无法从DB获取此字段但已经在Cla的领域ss,所以django会尝试去做)
是否有可能使所有3个步骤“原子”?或globaly忽略这个例外,因为现在我不需要sfield
,我只想执行没有例外的迁移。或者可能是我可以用某种方式临时标记新字段以阻止django从数据库中获取它,但是它必须对makemigrations/migrate可见?
谢谢,是的,我同意 - 本地开发服务器是创建迁移的正确方法,但正如您提到的那样,它不会解决问题,它会将服务器迁移步骤减少到2:'Upload'和'migrate',但仍然一些请求可能会失败。只有有趣的事情,多亏你的坚定,我也发现'延期',我也会尝试。 – user3479125
@ user3479125不错,祝你好运! ;) – doniyor