cascadeDelete<T extends DatumEntityInterface> method
Future<CascadeDeleteResult<T> >
cascadeDelete<T extends DatumEntityInterface>({
- required String id,
- required String userId,
- DataSource source = DataSource.local,
- bool forceRemoteSync = false,
Deletes an entity with cascading behavior based on relationship configurations.
This method respects the CascadeDeleteBehavior configured on each relationship:
- CascadeDeleteBehavior.cascade: Related entities are also deleted
- CascadeDeleteBehavior.restrict: Delete fails if related entities exist
- CascadeDeleteBehavior.setNull: Foreign keys are set to null (BelongsTo only)
- CascadeDeleteBehavior.none: No cascading behavior (default)
The method performs deletes in dependency order to avoid foreign key constraint violations.
Returns a CascadeDeleteResult containing information about the operation.
Implementation
Future<CascadeDeleteResult<T>> cascadeDelete<T extends DatumEntityInterface>({
required String id,
required String userId,
DataSource source = DataSource.local,
bool forceRemoteSync = false,
}) async {
return Datum.manager<T>().cascadeDelete(
id: id,
userId: userId,
source: source,
forceRemoteSync: forceRemoteSync,
);
}