@@ -168,11 +168,13 @@ def create_ogr2ogr_command(files, original_name, ovverwrite_layer, alternate):
168
168
@staticmethod
169
169
def delete_resource (instance ):
170
170
"""
171
- Base function to delete the resource with all the dependencies (example: dynamic model)
171
+ Base function to delete the resource with all the dependencies (dynamic model)
172
172
"""
173
173
try :
174
174
name = instance .alternate .split (":" )[1 ]
175
- schema = ModelSchema .objects .filter (name = name ).first ()
175
+ schema = None
176
+ if os .getenv ("IMPORTER_ENABLE_DYN_MODELS" , False ):
177
+ schema = ModelSchema .objects .filter (name = name ).first ()
176
178
if schema :
177
179
'''
178
180
We use the schema editor directly, because the model itself is not managed
@@ -181,7 +183,6 @@ def delete_resource(instance):
181
183
_model_editor = ModelSchemaEditor (initial_model = name , db_name = schema .db_name )
182
184
_model_editor .drop_table (schema .as_model ())
183
185
ModelSchema .objects .filter (name = name ).delete ()
184
- # Removing Field Schema
185
186
except Exception as e :
186
187
logger .error (f"Error during deletion of Dynamic Model schema: { e .args [0 ]} " )
187
188
@@ -690,7 +691,9 @@ def _import_resource_rollback(self, exec_id, instance_name=None, *args, **kwargs
690
691
on creation, but for the delete since we are going to handle, we can use it
691
692
'''
692
693
logger .info (f"Rollback dynamic model & ogr2ogr step in progress for execid: { exec_id } resource published was: { instance_name } " )
693
- schema = ModelSchema .objects .filter (name = instance_name ).first ()
694
+ schema = None
695
+ if os .getenv ("IMPORTER_ENABLE_DYN_MODELS" , False ):
696
+ schema = ModelSchema .objects .filter (name = instance_name ).first ()
694
697
if schema is not None :
695
698
_model_editor = ModelSchemaEditor (initial_model = instance_name , db_name = schema .db_name )
696
699
_model_editor .drop_table (schema .as_model ())
0 commit comments