sqlalchemy.exc.InvalidRequestError: Table 'run_result' is already defined for this MetaData instance
临时解决办法:
在models文件导入db后,加上如下代码:
db.metadata.clear()
但解决问题的根本之处还是在于找到,为何会声明了2次类的定义呢?
解析:
table 'roles_users' is already defined for this MetaData instance,意思是说表XX已经定义。这个在于你想干嘛。
第一,如果你想删除旧类并重新生成新的映射类
那么在定义类之前尝试运行以下行:
db.metadata.clear()
原因是第一次通过定义python类声明SQLAlchemy Mapping时,类的定义将保存到元数据对象中,以防止多个定义映射到同一个表所导致的冲突。当您调用该clear()方法时,您将清除元数据对象在内存中保存的所有表定义,这允许您再次声明它们。
第二,保留你的旧类,然后重启你的应用程序
可以使用reflect方法编写测试以查看表是否已存在:
db.metadata.reflect(engine=engine)
其中engine是您使用创建的数据库连接create_engine(),并查看您的表是否已存在,并且只有在未定义表时才定义该类。
原文出处:
https://blog.csdn.net/BridgeHong/article/details/88999316
sqlalchemy.exc.InvalidRequestError: Table 'run_result' is already defined for this MetaData instance的更多相关文章
- Superset安装出错 sqlalchemy.exc.InvalidRequestError: Can't determine which FROM clause to join from, ...
$ superset db upgrade ... Traceback (most recent call last): File "/home/jhadmin/.pyenv/version ...
- sqlalchemy.exc.InvalidRequestError: Entity '<class 'model.TestCase'>' has no property 'project'
原因: 修改表结构,但没有更新数据模型造成的 解决办法: 在sqlalchemy提供的表模型中增加project字段的描述信息 这次修改测试框架我有点想不起来,在测试代码中,是怎么通过sqlalche ...
- sqlalchemy.exc.StatementError: (sqlalchemy.exc.InvalidRequestError) Can't reconnect until invalid transaction is rolled back
从这段话获得灵感 重新启动flask shell之后就好了
- sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) Cannot add a NOT NULL column with default value NULL [SQL: u'ALTER TABLE address_scopes ADD COLUMN ip_version INTEGER NOT NULL']
root@hett-virtual-machine:~# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neu ...
- sqlalchemy.exc.CompileError: (in table 'user', column 'username'): VARCHAR requires a length on dialect mysql
映射数据库时报错:sqlalchemy.exc.CompileError: (in table 'user', column 'username'): VARCHAR requires a lengt ...
- sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1091, "Can't DROP 'users_ibfk_1'; check that column/key exists") [SQL: ALTER TABLE users DROP FOREIGN KEY users_ibfk_1]
flask 迁移数据库报错 报错: sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1091, "Can't DROP ...
- sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError)
在我学习flask建立网站时间碰到了一个棘手的问题,就是在我进行操作日志的更新时间,发现表格建立有点错误,导致表缺失,从而报了下面的错误 sqlalchemy.exc.ProgrammingError ...
- Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible. <class 'sqlalchemy.exc.OperationalError'> (HTTP 500) (Request-ID: req-6ac88345-ce5a
Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API ...
- flask建表遇到的错误: flask,sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1071, 'Specified key was too long; max key length is 767 bytes')
error:flask,sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1071, 'Specifie ...
随机推荐
- element样式调整用到的东西
修改element 样式不能j加scoped 一般来说常常用!important,为了提高权重会用到>,有时发现/deep/其实还蛮好用,如下 .range { .el-input--mini ...
- kickstart一键装机部署
1.第一步安装DHCP yum -y install dhcp 1.1配置修改文件 cat >> /etc/dhcp/dhcpd.conf <<END subnet 172.1 ...
- AIX用户和组管理
1.用户登录和初始化
- 机器学习聚类算法之DBSCAN
一.概念 DBSCAN是一种基于密度的聚类算法,DBSCAN需要两个参数,一个是以P为中心的邻域半径:另一个是以P为中心的邻域内的最低门限点的数量,即密度. 优点: 1.不需要提前设定分类簇数量,分类 ...
- java数据结构复习02
1.递归问题 1.1汉诺塔问题(递归) 问题描述三个柱子,起初有若干个按大小关系顺序安放的盘子,需要全部移动到另外一个柱子上.移动规则:在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘.移动 ...
- throttle和debounce函数
控制耗性能的函数,避免浏览器卡死
- 大数据(量上GB的)查看命令
大数据查看指令 cmd中(tab键可补全) type 文件名:全部查看 more 文件名:Enter键,按一下查看一页
- NSMutableArray修改替换某个位置的元素
使用NSMutableArray的replaceObjectAtIndex方法.
- JAVA中的23种设计模式
http://blog.csdn.net/chmask/article/details/2631485 http://www.cnblogs.com/hnrainll/archive/2011/12/ ...
- Raspberry Pi3驱动Oled ssh1106屏
Raspberry Pi3可以直接使用GPIO接口驱动OLED屏 一.接线 根据网上随便找的图可以看到树莓派3的GPIO接口引脚顺序 PS:26pin的GPIO为前26针 根据OLED屏的引脚说明,如 ...