If you are worried about the time between the transition and the renaming, here's another idea: use a view that points to the “correct base table”.
You start with
CREATE VIEW someName as Select * From OldTable;
Then you can customize your new table. When you are ready, just
CREATE OR REPLACE View someName as Select * From NewTable;
Then you can delete your OldTable. The next time you get new data, create another NewTable_2 (or reuse OldTable .. then it's probably best to use Table1 and Table2) and override the view again.
The view is as simple as it is, so it should be updatable without any problems. The only difficult task is to always create a new table (or switch between two tables), but it should not be too difficult to set up and, perhaps, easier than completely avoiding any problems that may arise with your initial proposal.
source share