Python sqlparse 没有正确地为每一列创建新行

Python sqlparse doesn't create new line for each column properly

Python中解析SQL的常用包是sqlparse:

pip3 install --user sqlparse

我希望解析 create table 语句列表,库有时会创建新行但缩进错误:

import sqlparse;

print(sqlparse.format("create table (id int,foo text, bar float)", reindent=True, keyword_case="upper"));

后续每一行的缩进越来越多,这使得 SQL 文本看起来很破损。如何告诉 sqlparse 正确缩进?也试过 reindent_aligned=True 但没有用。

你可以试试我的图书馆SQLGlot

python -m sqlglot "create table x (id int,foo text, bar float)"

CREATE TABLE x (
  "id" INT,
  "foo" TEXT,
  "bar" FLOAT 
)