Just be careful.
The library part names we see have nothing to do with migration.
There is an internal GUID number that Archicad refers to.
The migration library is not a full library as some objects don't need to be migrated - they will simply swap with the new library object.
If your version 22 library has an object with a GUID of "xxx" (it is actually a 64 character ID) and the 23 library has a part with the same ID("xxx"), then the part will be swapped (regardless of the object names) - that is why "Door 22" will automatically become "Door 23".
Migration is required when an object can't be swapped because the new one has new parameters that didn't exist in the old version, so the new values need to be set based on the old parameter values - otherwise you objects may mysteriously change in appearance because of the wrong settings.
So the migration script says, if you find a 22 object that has an ID of "xxx" and that object no longer exists in the 23 library, then swap it for the 23 object with ID of "yyy" - and set the new parameter values based on the old settings.
If you copy the 22 object into the 23 library, the swap (migration) will not occur, as the original 22 object still exists.
Migration only occurs when the original object is missing.
So you may as well not load the 23 library, just keep using the 22 library.
So I suspect you may not be getting a successful migration if you have the 22 library, 22 migration library and 23 library loaded at the same time.
You should have just the 22 migration library (or other migration libraries for older versions if needed) and the new 23 library.
Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11