@@ -53,7 +53,9 @@ class ContextDiff(PydanticModel):
5353 """Whether the currently stored environment record is in unfinalized state."""
5454 normalize_environment_name : bool
5555 """Whether the environment name should be normalized."""
56- gateway_managed_virtual_layer : bool = False
56+ previous_gateway_managed_virtual_layer : bool
57+ """Whether the previous environment's virtual layer's views were created by the model specified gateways."""
58+ gateway_managed_virtual_layer : bool
5759 """Whether the virtual layer's views will be created by the model specified gateways."""
5860 create_from : str
5961 """The name of the environment the target environment will be created from if new."""
@@ -121,7 +123,7 @@ def create(
121123 env = state_reader .get_environment (environment )
122124
123125 create_from_env_exists = False
124- if env is None or env .expired or env . gateway_managed != gateway_managed_virtual_layer :
126+ if env is None or env .expired :
125127 env = state_reader .get_environment (create_from .lower ())
126128
127129 if not env and create_from != c .PROD :
@@ -229,6 +231,7 @@ def create(
229231 diff_rendered = diff_rendered ,
230232 previous_environment_statements = previous_environment_statements ,
231233 environment_statements = environment_statements ,
234+ previous_gateway_managed_virtual_layer = env .gateway_managed if env else False ,
232235 gateway_managed_virtual_layer = gateway_managed_virtual_layer ,
233236 )
234237
@@ -277,6 +280,7 @@ def has_changes(self) -> bool:
277280 or self .is_unfinalized_environment
278281 or self .has_requirement_changes
279282 or self .has_environment_statements_changes
283+ or self .previous_gateway_managed_virtual_layer != self .gateway_managed_virtual_layer
280284 )
281285
282286 @property
0 commit comments