Base.registry.mappers 在 SQLAlchemy 2.0.x 是 frozenset(装 Mapper 对象),
而非 dict({table: mapper}),原 .items() 调用会抛
'frozenset' object has no attribute 'items' 导致启动期建表校验失败。
改为统一取 Mapper,用 local_table.name 取表名、columns 取列,兼容 dict 与
frozenset 两种形态。
Base.registry.mappers 在 SQLAlchemy 2.0.x 是 frozenset(装 Mapper 对象),
而非 dict({table: mapper}),原 .items() 调用会抛
'frozenset' object has no attribute 'items' 导致启动期建表校验失败。
改为统一取 Mapper,用 local_table.name 取表名、columns 取列,兼容 dict 与
frozenset 两种形态。