|
65 | 65 | SnapshotIdBatch, |
66 | 66 | SnapshotInfoLike, |
67 | 67 | SnapshotTableCleanupTask, |
| 68 | + SnapshotChangeCategory, |
68 | 69 | ) |
69 | 70 | from sqlmesh.core.snapshot.execution_tracker import QueryExecutionTracker |
70 | 71 | from sqlmesh.utils import random_id, CorrelationId |
@@ -2439,20 +2440,27 @@ def migrate( |
2439 | 2440 | **kwargs: t.Any, |
2440 | 2441 | ) -> None: |
2441 | 2442 | logger.info("Migrating view '%s'", target_table_name) |
2442 | | - model = snapshot.model |
2443 | | - render_kwargs = dict( |
2444 | | - execution_time=now(), snapshots=kwargs["snapshots"], engine_adapter=self.adapter |
2445 | | - ) |
| 2443 | + if ( |
| 2444 | + snapshot.is_forward_only |
| 2445 | + or bool(snapshot.model.physical_version) |
| 2446 | + or not snapshot.virtual_environment_mode.is_full |
| 2447 | + or snapshot.change_category == SnapshotChangeCategory.INDIRECT_NON_BREAKING |
| 2448 | + or not self.adapter.COMMENT_CREATION_VIEW.is_unsupported |
| 2449 | + ): |
| 2450 | + model = snapshot.model |
| 2451 | + render_kwargs = dict( |
| 2452 | + execution_time=now(), snapshots=kwargs["snapshots"], engine_adapter=self.adapter |
| 2453 | + ) |
2446 | 2454 |
|
2447 | | - self.adapter.create_view( |
2448 | | - target_table_name, |
2449 | | - model.render_query_or_raise(**render_kwargs), |
2450 | | - model.columns_to_types, |
2451 | | - materialized=self._is_materialized_view(model), |
2452 | | - view_properties=model.render_physical_properties(**render_kwargs), |
2453 | | - table_description=model.description, |
2454 | | - column_descriptions=model.column_descriptions, |
2455 | | - ) |
| 2455 | + self.adapter.create_view( |
| 2456 | + target_table_name, |
| 2457 | + model.render_query_or_raise(**render_kwargs), |
| 2458 | + model.columns_to_types, |
| 2459 | + materialized=self._is_materialized_view(model), |
| 2460 | + view_properties=model.render_physical_properties(**render_kwargs), |
| 2461 | + table_description=model.description, |
| 2462 | + column_descriptions=model.column_descriptions, |
| 2463 | + ) |
2456 | 2464 |
|
2457 | 2465 | def delete(self, name: str, **kwargs: t.Any) -> None: |
2458 | 2466 | cascade = kwargs.pop("cascade", False) |
|
0 commit comments