@@ -172,13 +172,15 @@ def _copy(
172
172
full_refresh : bool = False ,
173
173
sync_tags : bool = False ,
174
174
stage : str | None = None ,
175
+ create_table : bool = True ,
175
176
) -> None :
176
177
with connect () as connection :
177
178
cursor = connection .cursor ()
178
179
execute = self .setup_connection (
179
180
path , storage_integration , cursor , file_format , stage
180
181
)
181
- self .create_table (full_refresh , execute )
182
+ if create_table :
183
+ self .create_table (full_refresh , execute )
182
184
183
185
if sync_tags and self .table_structure :
184
186
self .sync_tags (cursor )
@@ -199,6 +201,7 @@ def copy_into(
199
201
qualify : bool = False ,
200
202
stage : str | None = None ,
201
203
files : list [str ] | None = None ,
204
+ create_table : bool = True ,
202
205
) -> None :
203
206
col_str = f"({ ', ' .join (target_columns )} )" if target_columns else ""
204
207
files_clause = ""
@@ -225,6 +228,7 @@ def copy_into(
225
228
full_refresh ,
226
229
sync_tags ,
227
230
stage ,
231
+ create_table ,
228
232
)
229
233
with connect () as connection :
230
234
cursor = connection .cursor ()
@@ -244,6 +248,7 @@ def copy_into(
244
248
full_refresh ,
245
249
sync_tags ,
246
250
stage ,
251
+ create_table ,
247
252
)
248
253
249
254
def create_table (self , full_refresh : bool , execute_statement : callable ) -> None :
@@ -561,6 +566,7 @@ def copy_custom(
561
566
sync_tags : bool = False ,
562
567
stage : str | None = None ,
563
568
files : list [str ] | None = None ,
569
+ create_table : bool = True ,
564
570
) -> None :
565
571
column_names = ", " .join (column_definitions .keys ())
566
572
definitions = ", " .join (column_definitions .values ())
@@ -586,6 +592,7 @@ def copy_custom(
586
592
full_refresh ,
587
593
sync_tags ,
588
594
stage ,
595
+ create_table ,
589
596
)
590
597
591
598
def merge_custom (
@@ -598,6 +605,7 @@ def merge_custom(
598
605
storage_integration : str | None = None ,
599
606
qualify : bool = False ,
600
607
files : list [str ] | None = None ,
608
+ create_table : bool = True ,
601
609
) -> None :
602
610
def copy_callable (table : Table , sync_tags : bool ) -> None :
603
611
return table .copy_custom (
@@ -608,6 +616,7 @@ def copy_callable(table: Table, sync_tags: bool) -> None:
608
616
full_refresh = True ,
609
617
sync_tags = sync_tags ,
610
618
files = files ,
619
+ create_table = create_table ,
611
620
)
612
621
613
622
return self ._merge (copy_callable , primary_keys , replication_keys , qualify )
0 commit comments