我想为sql生成创建一个Jinja模板,并且我希望它对齐列名和数据类型以提高可读性,例如:
CREATE TABLE test_destination_table_csv (
col1 STRING
,asdfg INT
,somethingelse DOUBLE
,datestr TIMESTAMP
)
通常我使用编辑器中的选项卡来执行此操作,但这在我的Jinja模板中似乎不起作用。
这是我得到的:
CREATE TABLE test_destination_table_csv (
col1 STRING
, asdfg INT
, somethingelse DOUBLE
, datestr TIMESTAMP
)
使用以下模板:
CREATE TABLE {{ table_name }}_csv (
{% for col, dtype in columns %}
{{ "," if not loop.first else " " }} {{col}} {{ dtype }}
{% endfor %}
)
我尝试添加以下内容:
{{ " " * max(2,(20 - len(col))) }}
但是Jinja不明白。我以为Jinja应该像其他模板语言一样支持任意的python代码?