Как вывести одинарную кавычку в макросах dbt post-hook с помощью jinja? ⇐ Python

Программы на Python
Anonymous
Как вывести одинарную кавычку в макросах dbt post-hook с помощью jinja?

Сообщение Anonymous »

Вот хук сообщения для модели dbt:

Код: Выделить всё

{{
config(
post_hook=[
'{{ execute_if_exists("delete from " ~ this ~ " where day = date('' " ~ var("mydatevar") ~ " '')")  }}',
]
)
}}
Обратите внимание на символ '' в строке. Далее:

Код: Выделить всё

{% macro execute_if_exists(query) -%}
{{ query }}
{%- endmacro %}
И я получил

Код: Выделить всё

delete from catalog.myschema.mytable where day = date( 2024-10-02 )
Ожидается следующее:

Код: Выделить всё

delete from catalog.myschema.mytable where day = date(' 2024-10-02 ')
Я попробовал \' и получил ошибку. Я снова поменял местами " и ', но безрезультатно.
ОБНОВЛЕНО
  • Код: Выделить всё

    '{{ execute_if_exists("delete from " ~ this ~ " where day = date(' " ~ var("mydatevar") ~ " ')")  }}
    — ошибка компиляции
  • Код: Выделить всё

    "{{ execute_if_exists('delete from ' ~ this ~ ' where day = date(' ' ~ var('mydatevar') ~ ' ')')  }}"
    — тот же эффект
  • Код: Выделить всё

    "{{ execute_if_exists('delete from ' ~ this ~ ' where day = date(' ' ~ var('mydatevar') ~ ' ')')  }}"
    — тоже ошибка компиляции


Подробнее здесь: https://stackoverflow.com/questions/790 ... with-jinja

Вернуться в «Python»