Skip to content

Commit 0dacf08

Browse files
author
David Larsen
committed
add sqlserver__alter_column_type macro
1 parent 4091a07 commit 0dacf08

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

dbt/include/sqlserver/macros/adapters.sql

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,3 +225,18 @@
225225
{%- set result = "CONVERT(DATETIME2, '" ~ timestamp ~ "')" -%}
226226
{{ return(result) }}
227227
{%- endmacro %}
228+
229+
{% macro sqlserver__alter_column_type(relation, column_name, new_column_type) %}
230+
231+
{%- set tmp_column = column_name + "__dbt_alter" -%}
232+
233+
{% call statement('alter_column_type') -%}
234+
235+
alter {{ relation.type }} {{ relation }} add {{ tmp_column }} {{ new_column_type }};
236+
update {{ relation }} set {{ tmp_column }} = {{ column_name }};
237+
alter {{ relation.type }} {{ relation }} drop column {{ column_name }};
238+
exec sp_rename '{{ relation | replace('"', '') }}.{{ tmp_column }}', '{{ column_name }}', 'column'
239+
240+
{%- endcall -%}
241+
242+
{% endmacro %}

0 commit comments

Comments
 (0)