如果使用的是Django,通过pgadmin或psql直接对数据库(在我的情况下为postgres)进行更改会发生什么情况?
迁移如何处理此类更改?它们是优先于ORM认为事务状态是什么,还是Django覆盖它们并施加其自身的变更历史感?
最后,如果有的话,这些问题如何通过git影响或避免?
谢谢。
您可以将模型完全从django迁移中排除,然后负责将模式调整为django代码(或将django代码调整为现有模式):
class SomeModel(models.Model):
class Meta:
managed = False
db_table = "some_table_name"
name = models.Fields....
请注意,您不能同时拥有这两种方式,因此在可能的情况下,首选迁移。您始终可以定义自定义SQL迁移,这将节省对外部更改的需求。但是,有时您确实需要在其他地方处理架构而不是进行迁移,然后使用managed = False
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句