问题描述
我想将表架构,表名称,数据类型和列名称导出到JSON文件。我设法做到了,但是数据类型并没有返回varchar的长度。
如何导出varchar的长度,而不是使字符因信息模式而异。
Export.py:
def GetAllTables():
conn = None
try:
params = config()
conn = psycopg2.connect(**params)
cur = conn.cursor()
cur.execute("""SELECT TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,DATA_TYPE
FROM @R_435_4045@ION_SCHEMA.COLUMNS;""")
rows = cur.fetchall()
rowarray_list = []
for row in rows:
rowarray_list.append({'table_schema':row[0],'table_name': row[1],'column_name':row[2],'data_type':row[3]})
rowarray_file= 'static/api/tables.json'
with open(rowarray_file,'w') as outfile:
j = json.dump(rowarray_list,outfile,indent=4)
cur.close()
except(Exception,psycopg2.DatabaseError) as error:
print(error)
finally:
if conn is not None:
conn.close()
这将返回我,例如:
{
"table_schema": "x","table_name": "x1","column_name": "x11","data_type": "character varying"
}
但是,MysqL中的数据类型是varchar(255)。这就是我要提取到JSON文件中的内容。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)