swisstopo / swissgeol-assets-suite

1 stars 0 forks source link

Feature 34: Bug: Verdoppelung von Verweisen #85

Closed daniel-va closed 5 months ago

daniel-va commented 5 months ago

Fix for #34.

Cause: Sibling assets are saved in the database via the asset_x_asset_y table. The table has two ids as its fields, one for each sibling. This means that it is possible for a sibling relationship two appear twice, by switching the values of the two id fields. In theory, the API guards against that by deleting duplicates before inserting new entities, but that check was faulty.

Fix: We now just delete all entities of asset_x_asset_y table that belong to the asset that is being modified, and then immediately insert all correct ones. This ensures that we remove any possible duplicates before even creating them.

Note that this does not remove any existing entities, see my comment in #34.