Environment
Proposed Functionality
The way flags are managed in
| ifself.flags&DiffSyncFlags.SKIP_UNMATCHED_SRCandnotdst_obj: |
| log.debug("Skipping due to SKIP_UNMATCHED_SRC flag on source adapter") |
| self.incr_models_processed() |
| returnNone |
| ifself.flags&DiffSyncFlags.SKIP_UNMATCHED_DSTandnotsrc_obj: |
| log.debug("Skipping due to SKIP_UNMATCHED_DST flag on source adapter") |
| self.incr_models_processed() |
| returnNone |
| ifsrc_objandnotdst_objandsrc_obj.model_flags&DiffSyncModelFlags.SKIP_UNMATCHED_SRC: |
| log.debug("Skipping due to SKIP_UNMATCHED_SRC flag on model") |
| self.incr_models_processed() |
| returnNone |
| ifdst_objandnotsrc_objanddst_obj.model_flags&DiffSyncModelFlags.SKIP_UNMATCHED_DST: |
| log.debug("Skipping due to SKIP_UNMATCHED_DST flag on model") |
| self.incr_models_processed() |
| returnNone |
| ifsrc_objandsrc_obj.model_flags&DiffSyncModelFlags.IGNORE: |
| log.debug("Skipping due to IGNORE flag on source object") |
| self.incr_models_processed() |
| returnNone |
| ifdst_objanddst_obj.model_flags&DiffSyncModelFlags.IGNORE: |
| log.debug("Skipping due to IGNORE flag on dest object") |
| self.incr_models_processed() |
| returnNone |
, means that the GLOBAL flags always take precedence over the MODEL ones.
I would propose changing the order (more specific first) and adding some flags that could negate the global behavior. For example:
- global:
SKIP_UNMATCHED_DST - model:
NO_SKIP_UNMATCHED_DST (new one)
This should allow not skipping for only a specific model.
Use Case
Environment
Proposed Functionality
The way flags are managed in
diffsync/diffsync/helpers.py
Lines 185 to 208 in 315b5e9
I would propose changing the order (more specific first) and adding some flags that could negate the global behavior. For example:
SKIP_UNMATCHED_DSTNO_SKIP_UNMATCHED_DST(new one)This should allow not skipping for only a specific model.
Use Case