As configurable line item positioning has been available previously, a respective preference already exists in the database. To stay consistent with the current, non-configurable line item positioning behavior where no position adjustment is made after a line item is removed from the basket, a migration routine was introduced.
To prevent breaking the current behavior, where line item positions are not adjusted if a line item is removed from the basket, a migration routine was added, changing the default preference value from "AssignAndReassign" to "AssignOnly".
Position handling preference values that were set for an application will not be touched by the migration routine.
The migration script does the following: UPDATE "PREFERENCEDEFINITION" SET "DEFAULTVALUE" = 'AssignOnly' WHERE "PREFERENCENAME" = 'BasketLineItemPositionHandling';
Preference value "AssignOnly" on database/PreferenceDefinitions level is equivalent to "Keep Positions" in the back office; same goes for "AssignAndReassign" and "Adjust Positions" (preference name is "BasketLineItemPositionHandling").