我在表格中添加了一个网址列,现在sqlalchemy正在说“未知列网址”。
为什么不更新表格?
创建会话时必须有设置吗?
我在做:
Session = sessionmaker(bind=engine)
我有什么遗失的吗?
我希望它能更新任何没有我在python代码中添加到我的表结构中的属性的表。
答案 0 :(得分:1)
我不确定SQLAlchemy是否支持模式迁移(至少我上次触摸它时,它不存在)。
有两种选择。
autoload
功能让SQLAlchemy自动读出数据库中的列。这将需要测试以确保它的工作,但你通常会得到这个想法。 DRY。答案 1 :(得分:1)
如果您只是添加新列,则可以安全地使用metadata.create_all(bind=engine)
从类定义更新架构。
但是,如果在SQLA定义中删除它们,则不会修改现有列或从DB模式中删除列。