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
最终问题解决,解析出的信息都是正常的。但是我也不是很清楚其中原因,新版本的会有问题,而老版本是正确的。