You have a big problem. Order need UNIQUE constraint. For move a item you need:
1. Removes the UNIQUE constraint.
2. Moves the item.
3. Reactivates the UNIQUE constraint.
Other another way is use strings ("a", "b", "c", etc..), or integer * 100 list (100, 200, 300, etc...). But this way is most simple moves, but add complexity in reorder and automatize when you have a 100, 101 and 102 itens.