sqlalchemy.exc.ProgrammingError

Jos*_*Baz 4 python sqlalchemy flask

一直试图弄清楚这一小时 - 但仍然不知道问题是什么.

以下代码导致错误:

team = Team.query.filter_by(name=request.form['newTeamName']).first()
Run Code Online (Sandbox Code Playgroud)

有关错误的更多详细信息:

ProgrammingError :( ProgrammingError)列team.user_id不存在

我该怎么做才能修复这个bug?

非常感谢你提前.#freecookiesforanswers

Mic*_*kel 5

听起来你在没有更新数据库的情况下修改了模型.您需要通过某种迁移来完成此操作.对于像添加新表这样的东西,你可以简单地运行metadata.create_all(bind=engine).但是,对于像添加列等的细粒度更改,您需要自己更改表或使用像alembic这样的系统.当然,如果这只是在开发期间,您可能只是吹走数据库并使用新定义重新创建它.

  • 你可以使用drop_all()快速吹走它,这就是我通常做的事情.如果数据库的表defs与模型不匹配,你可以使用[drop everything recipe](http://www.sqlalchemy.org/trac/wiki/UsageRecipes/DropEverything),但要确保你没有需要该架构中的任何表格...... (2认同)