flask sqlalchemy报错“Table ‘user’ is already defined for this MetaData instance”解决

Flask sqlalchemy报错“Table ‘user’ is already defined for this MetaData instance”解决

背景

今天改需求时在数据库表中增加一个新字段后执行python manage.py db migratepython managr.py db upgradt后报错,关键log输出如下:

sqlalchemy.exc.InvalidRequestError:Table 'user' is already defined for this MetaData 
instance. Specify 'extend_existing=True' to redefine options and columns on an existing 
Table object

解决:

在User类中添加__table_args__ = {'extend_existing': True},如下文所示:

class User(UserMixin, db.Model):
	__tablename__ = 'user'
    __table_args__ = {'extend_existing': True}
    ...
发布了31 篇原创文章 · 获赞 16 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Urms_handsomeyu/article/details/103344722
今日推荐