sql_metadata模块问题
1. 问题
我在使用sql_metadata.parse里的函数sqlparser.Parser解析sql语句,然后出现了问题。在我仔细分析后,确定是sqlparser.Parser解析后得到tables_aliases信息里缺少了某个别名-表名对应的参数。
然而我在MAC电脑上同样的代码却没有出现该问题,然后我在MAC电脑上调试,发现解析出tables_aliases信息是正确的,比在windows里多出一个字段。
2. 解决
这时候,使用:
pip list

windows电脑上的sql-metadata的版本是2.5.0,而mac电脑的的sql-metadata的版本是2.4.0,因此我怀疑是版本的问题。
最终解决方案
先删除sql-metadata:
pip uninstall sql_metadata
最后,安装sql-metadata-2.4.0:
pip install sql_metadata==2.4.0
最终问题解决,解析出的信息都是正常的。但是我也不是很清楚其中原因,新版本的会有问题,而老版本是正确的。
博主在使用sql_metadata的sqlparser.Parser解析SQL语句时遇到了tables_aliases信息缺失的问题,此问题只在Windows环境下出现。经过对比,发现在MAC电脑上(sql-metadata版本为2.4.0)没有该问题。最终,通过降级sql-metadata到2.4.0版本成功解决了问题,解析结果恢复正常。

被折叠的 条评论
为什么被折叠?



