When you do a copy and paste of multiple tables, a little dialog box pops up saying it is analysing foreign keys, by which I assume it is analysing what order to copy the tables so as to not violate foreign key constraints. However, it seems to me that when it deletes the old records (which is the default behavior), it does it in the same order, whereas it should do it in the reverse order.
For example , if table B has a foreign key to table A, then of course you should populate A before B. However you should first delete records in B before deleting in A.
I suspect the wrong thinking here extends into the UI, because when it asks you permission to delete the records, the options are "Yes" or "Yes to all", and I think its intention is to do one table then asking the question again if you select "Yes". But of course you can't think about deleting from A, until you've deleted from B. So it seems to me there should be no question presented to the user about yes or yes to all, the answer is always yes to all. Maybe you want an "OK" "Cancel" dialog to stop people accidently blowing away data, but once they've decided yep they want to copy, it should go ahead and do all tables, in the reverse order.
One other thing, this copy process seems to want to pop up a number of dialogs in succession, The time between one dialog and the next can be so long that you think it is silently failed, and you go to kick it off again. The whole copy process should be done in one window that sticks around from start to finish, so you know where it's up to.
Fixed in our GIT repositories. Will be available in future snapshots and versions.
Excerpt from change log:
Additional note:
The multiple dialogs were removed. The analyzing FK messages are now written to the message panel.
Last edit: Gerd Wagner 2023-10-14