- SAFE: No impact on existing data or functionality
- WARNING: Allowed with caution (changes may have implications, for example, adding a constraint can cause ingestion pipelines to fail if they don’t comply with the constraint)
- BREAKING: Not applied to CDF
Why it matters
Choosing the right mode protects your data and applications. Additive mode is intended for production environments where stability is crucial, while rebuild mode is designed for development/sandbox environments where you can iterate quickly delete and recreate models so you try out and do breaking changes. Rebuild is not suitable for production because it deletes the containers and data, which can lead to data loss. The sections below describe each mode and list the allowed and disallowed changes per severity level.Additive mode
Additive mode provides:- Forward compatibility: Existing applications work with the updated model without changes.
- Incremental deployment: Changes apply gradually for controlled evolution.
- Production suitability: Best for production environments where stability and forward compatibility matter.
Rebuild mode
Rebuild mode allows every change because the entire model is deleted and recreated. Use it for development or testing where no existing data or applications depend on the model. Deployment fails if containers contain data—NEAT does not remove data accidentally. To delete existing data intentionally, setdrop_data=True when deploying: neat.physical_data_model.write.cdf(dry_run=False, drop_data=True).
Further reading
- Install NEAT — Set up NEAT and deploy your first data model
- Data modeling principles — Best practices for designing data models with NEAT