The simplest solution I could think of:
- Create a
SchemaMigration
changing the type of every foreign key to models in the old app to a primitive type (including ones internal to it);
- Create the new apps and their models normally;
- Do a data migration from the old tables to the new ones;
- Create another
SchemaMigration
, changing every primitive type to a foreign key again, now pointing to the new tables;
- Remove the old app from settings and drop its tables.
Laborious, yes, but would do the trick. I'd hope for a better solution though.