猿问

Snowflake-sqlalchemy 无法检查列注释

问题

使用 SQLAlchemy 检查 Snowflake 表上的列时,列注释不可见。

MCVE

要求

pip install snowflake-sqlalchemy

测试

import sqlalchemy


# set up the connection

snowflake_conn = '<your-connection-string-here>'

engine = sqlalchemy.create_engine(snowflake_conn)


# create a table for testing, add a column comment

engine.execute('create table public.test ("col1" text);')

engine.execute("""alter table public.test alter "col1" comment 'this is my comment'""")


# check if comment is successfully stored in the information schema

engine.execute("select comment from information_schema.columns where table_name='TEST'").fetchall()

# Output: [('this is my comment',)]



# now let's try to inspect the table

inspector = sqlalchemy.inspect(engine)

inspector.get_columns('TEST', schema='PUBLIC')


实际结果


[{'name': 'col1',

  'type': VARCHAR(length=16777216),

  'nullable': True,

  'default': None,

  'autoincrement': False,

  'primary_key': False}]

预期结果


[{'name': 'col1',

  'type': VARCHAR(length=16777216),

  'nullable': True,

  'default': None,

  'comment': 'this is my comment',  # <-- this is added

  'autoincrement': False,

  'primary_key': False}]

问题

我在检查列注释时做错了什么,或者这只是snowflake-sqlalchemy 中的一个错误?


holdtom
浏览 152回答 2
2回答

撒科打诨

我刚刚用 测试了您的(准备充分的)代码snowflake-sqlalchemy==1.1.18,现在按预期返回了评论。{&nbsp; &nbsp;'name' : 'col1',&nbsp; &nbsp;'primary_key' : False,&nbsp; &nbsp;'default' : 'None',&nbsp; &nbsp;'type' : VARCHAR(length=16777216),&nbsp; &nbsp;'nullable' : True,&nbsp; &nbsp;'autoincrement' : False,&nbsp; &nbsp;'comment' : 'this is my comment'}

12345678_0001

这似乎是一个问题snowflake-sqlalchemy,我们已经开始排查问题,关注这里更新:https&nbsp;:&nbsp;//github.com/snowflakedb/snowflake-sqlalchemy/issues/90
随时随地看视频慕课网APP

相关分类

Python
我要回答