This becomes an issue when different Entity models are being used by different services to represent the same Entity. (It is a separate problem that the models shouldn't be different 🤔 but let's not go there).
For eg -
- In service A, the car Entity is defined as -
class Car(BaseModel):
price: int = 5000
- In service B, the car Entity is defined as -
class Car(BaseModel):
price: int = 10000
brand: str = 'BMW'
if service A updates an entity which has the brand field, it should not remove the brand field.