diff --git a/integration_test_project/models/incremental.sql b/integration_test_project/models/incremental.sql index 77ca9166..7c756a9d 100644 --- a/integration_test_project/models/incremental.sql +++ b/integration_test_project/models/incremental.sql @@ -1,7 +1,8 @@ {{ config( materialized='incremental', - unique_key='id' + unique_key='id', + meta={"meta_field": "description with an ' apostrophe"}, ) }} diff --git a/macros/upload_models.sql b/macros/upload_models.sql index 2150e757..438d455b 100644 --- a/macros/upload_models.sql +++ b/macros/upload_models.sql @@ -41,7 +41,7 @@ '{{ model.checksum.checksum }}', {# checksum #} '{{ model.config.materialized }}', {# materialization #} '{{ tojson(model.tags) }}', {# tags #} - '{{ tojson(model.config.meta) }}', {# meta #} + '{{ tojson(model.config.meta) | replace("\\", "\\\\") | replace("'","\\'") | replace('"', '\\"') }}', {# meta #} '{{ model.alias }}', {# alias #} '{{ tojson(model) | replace("\\", "\\\\") | replace("'","\\'") | replace('"', '\\"') }}' {# all_results #} ) @@ -71,7 +71,7 @@ '{{ model.checksum.checksum }}', {# checksum #} '{{ model.config.materialized }}', {# materialization #} {{ tojson(model.tags) }}, {# tags #} - parse_json('{{ tojson(model.config.meta) }}'), {# meta #} + parse_json('''{{ tojson(model.config.meta) }}'''), {# meta #} '{{ model.alias }}', {# alias #} parse_json('{{ tojson(model) | replace("\\", "\\\\") | replace("'","\\'") | replace('"', '\\"') }}') {# all_results #} ) diff --git a/macros/upload_seeds.sql b/macros/upload_seeds.sql index ead52537..61683f75 100644 --- a/macros/upload_seeds.sql +++ b/macros/upload_seeds.sql @@ -35,7 +35,7 @@ '{{ seed.package_name }}', {# package_name #} '{{ seed.original_file_path | replace('\\', '\\\\') }}', {# path #} '{{ seed.checksum.checksum }}', {# checksum #} - '{{ tojson(seed.config.meta) }}', {# meta #} + '{{ tojson(seed.config.meta) | replace("\\", "\\\\") | replace("'","\\'") | replace('"', '\\"') }}', {# meta #} '{{ seed.alias }}', {# alias #} '{{ tojson(seed) | replace("\\", "\\\\") | replace("'","\\'") | replace('"', '\\"') }}' {# all_results #} ) @@ -62,7 +62,7 @@ '{{ seed.package_name }}', {# package_name #} '{{ seed.original_file_path | replace('\\', '\\\\') }}', {# path #} '{{ seed.checksum.checksum }}', {# checksum #} - parse_json('{{ tojson(seed.config.meta) }}'), {# meta #} + parse_json('''{{ tojson(seed.config.meta) }}'''), {# meta #} '{{ seed.alias }}', {# alias #} parse_json('{{ tojson(seed) | replace("\\", "\\\\") | replace("'","\\'") | replace('"', '\\"') }}') {# all_results #} ) diff --git a/macros/upload_snapshots.sql b/macros/upload_snapshots.sql index ce19480b..cac08abc 100644 --- a/macros/upload_snapshots.sql +++ b/macros/upload_snapshots.sql @@ -40,7 +40,7 @@ '{{ snapshot.original_file_path | replace('\\', '\\\\') }}', {# path #} '{{ snapshot.checksum.checksum }}', {# checksum #} '{{ snapshot.config.strategy }}', {# strategy #} - '{{ tojson(snapshot.config.meta) }}', {# meta #} + '{{ tojson(snapshot.config.meta) | replace("\\", "\\\\") | replace("'","\\'") | replace('"', '\\"') }}', {# meta #} '{{ snapshot.alias }}', {# alias #} '{{ tojson(snapshot) | replace("\\", "\\\\") | replace("'","\\'") | replace('"', '\\"') }}' {# all_results #} ) @@ -69,7 +69,7 @@ '{{ snapshot.original_file_path | replace('\\', '\\\\') }}', {# path #} '{{ snapshot.checksum.checksum }}', {# checksum #} '{{ snapshot.config.strategy }}', {# strategy #} - parse_json('{{ tojson(snapshot.config.meta) }}'), {# meta #} + parse_json('''{{ tojson(snapshot.config.meta) }}'''), {# meta #} '{{ snapshot.alias }}', {# alias #} parse_json('{{ tojson(snapshot) | replace("\\", "\\\\") | replace("'","\\'") | replace('"', '\\"') }}') {# all_results #} )