My pointer would be to write a script that imports all of the data from the old file, and keep that up to date as you progress with your changes. That way you just need to point to the old data source and run a script to cut over to the new file.
Also, in this use case, UUIDs are almost always better as primary keys than serial numbers are. If you are using serial numbers you will need to go into every serial number and update the "next serial value". Or you can write a script as part of your import script that does that as well (check out the "set next serial value" script step).
Backup BOTH files before starting, just in case.
For speed, make sure both files are on the same machine when transferring data.
Definitely unhost the old file before continuing. But you don't have to host the new file until after you run the import.
This has been discussed at length before. Might be worth it to do a google search and search of these forums to read through what's out there.
Thanks Mike. I appreciate your advice. It seems straightforward enough but I didn't want to screw anything up by naively assuming it would be easy!
I'm using UUIDs rather than serial numbers so that part should be OK.
I was clearly searching for the wrong things as I didn't find anything helpful on here or via Google!