使用Django检测数据库DDL模式的更改



假设我们有一个Django应用程序,它可以查看遗留数据库。例如,如果有人从数据库客户端(DBeaver(而不是通过Django模型对某些数据库表进行更改,有没有办法识别这些更改?

您可以在终端中,在Django项目目录中执行以下操作:python manage.py inspectdb>型号.py

您将拥有与表相关的模型。

默认情况下,inspectdb创建非托管模型。也就是说,模型的Meta类中的managed=False告诉Django不要管理每个表的创建、修改和删除。

如果您确实想让Django管理表的生命周期,您需要将上面的托管选项更改为True(或者删除它,因为True是它的默认值(。

最新更新