如何检查SQLAlchemy映射是否与现有表匹配

2024-09-28 23:39:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用SQLAlchemy的声明性系统来定义映射。然后,通过

Base.metadata.create_all(engine, checkfirst=True)

如果我后来更改了一个声明类(例如通过添加一个列)并再次运行该程序,则只有当我尝试提交包含该修改类的实例的会话时才会检测到该更改。这发生在程序运行时相对较晚的时间。我更愿意在启动过程中发现这个问题,这样我就可以提早失败。在

如何显式地要求SQLAlchemy检查现有表是否与我的声明性映射匹配?

请注意,我不一定要寻找如何检测发生了什么更改或如何执行相应的迁移——我只想知道表是否与映射匹配。在


Tags: 实例程序程序运行true声明base定义sqlalchemy