Skip to content

Commit 6dc4a48

Browse files
authored
Fix State Sync CTAS Replace (#861)
* switch state sync to replace_query from ctas replace * change back to ctas but drop table first
1 parent 07b296a commit 6dc4a48

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

sqlmesh/core/state_sync/engine_adapter.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -437,9 +437,12 @@ def _backup_state(self) -> None:
437437
self.seeds_table,
438438
):
439439
if self.engine_adapter.table_exists(table):
440-
self.engine_adapter.ctas(
441-
f"{table}_backup", exp.select("*").from_(table), replace=True
442-
)
440+
with self.engine_adapter.transaction(TransactionType.DDL):
441+
backup_name = f"{table}_backup"
442+
self.engine_adapter.drop_table(backup_name)
443+
self.engine_adapter.ctas(
444+
backup_name, exp.select("*").from_(table), exists=False
445+
)
443446

444447
def _migrate_rows(self) -> None:
445448
all_snapshots = self._get_snapshots(lock_for_update=True)

0 commit comments

Comments
 (0)