Skip to content

Commit 42df973

Browse files
committed
feat: add create table bool
1 parent a0ccc74 commit 42df973

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

snowflake_utils/models/table.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,13 +172,15 @@ def _copy(
172172
full_refresh: bool = False,
173173
sync_tags: bool = False,
174174
stage: str | None = None,
175+
create_table: bool = True,
175176
) -> None:
176177
with connect() as connection:
177178
cursor = connection.cursor()
178179
execute = self.setup_connection(
179180
path, storage_integration, cursor, file_format, stage
180181
)
181-
self.create_table(full_refresh, execute)
182+
if create_table:
183+
self.create_table(full_refresh, execute)
182184

183185
if sync_tags and self.table_structure:
184186
self.sync_tags(cursor)
@@ -199,6 +201,7 @@ def copy_into(
199201
qualify: bool = False,
200202
stage: str | None = None,
201203
files: list[str] | None = None,
204+
create_table: bool = True,
202205
) -> None:
203206
col_str = f"({', '.join(target_columns)})" if target_columns else ""
204207
files_clause = ""
@@ -225,6 +228,7 @@ def copy_into(
225228
full_refresh,
226229
sync_tags,
227230
stage,
231+
create_table,
228232
)
229233
with connect() as connection:
230234
cursor = connection.cursor()
@@ -244,6 +248,7 @@ def copy_into(
244248
full_refresh,
245249
sync_tags,
246250
stage,
251+
create_table,
247252
)
248253

249254
def create_table(self, full_refresh: bool, execute_statement: callable) -> None:
@@ -561,6 +566,7 @@ def copy_custom(
561566
sync_tags: bool = False,
562567
stage: str | None = None,
563568
files: list[str] | None = None,
569+
create_table: bool = True,
564570
) -> None:
565571
column_names = ", ".join(column_definitions.keys())
566572
definitions = ", ".join(column_definitions.values())
@@ -586,6 +592,7 @@ def copy_custom(
586592
full_refresh,
587593
sync_tags,
588594
stage,
595+
create_table,
589596
)
590597

591598
def merge_custom(
@@ -598,6 +605,7 @@ def merge_custom(
598605
storage_integration: str | None = None,
599606
qualify: bool = False,
600607
files: list[str] | None = None,
608+
create_table: bool = True,
601609
) -> None:
602610
def copy_callable(table: Table, sync_tags: bool) -> None:
603611
return table.copy_custom(
@@ -608,6 +616,7 @@ def copy_callable(table: Table, sync_tags: bool) -> None:
608616
full_refresh=True,
609617
sync_tags=sync_tags,
610618
files=files,
619+
create_table=create_table,
611620
)
612621

613622
return self._merge(copy_callable, primary_keys, replication_keys, qualify)

0 commit comments

Comments
 (0)