Dual addressing on interface with VRF

We are migrating between service providers so need to move a bunch of users from one set of public addresses to another set with minimal downtime.

I have done this previously by setting up the new addresses as additional addresses on the interfaces and just letting the users swap over at their leisure then removing the old addresses.

However this time I have set the new link up as a VRF so I am not sure if this will work as I would need to put the interface in the new VRF for the new addresses to work but then the old addresses will stop working...

Any suggestions - apart from don't...

If I understand you properly, you want to let the users stay connected to the same physical interface but switch from using the old provider to using the new one by switching their own address and gateway from the ones tied to the old provider/VRF to those tied to the new one?

This can be accomplished by attaching a macvlan interface to the physical one and placing it to another VRF than the physical interface itself.

As you mention public addresses, I suppose there is no need to discuss DHCP.