This is really cool! I see you’ve got screenshot of it running on Android, could this ever also work on iOS? I tried in iOS on Chrome, but I just see “WebUSB not supported. Use Chrome, Edge, or Brave.”.
The SQLite docs have a section about it, the idea is:
1. Create new table with foreign key constraint
2. Copy data from old to new
3. Drop old table
4. Rename new table to old name
Tried it out now with SQLite to see what it does with difficult migrations, like adding a foreign key constraint to an existing table. Looks like it just generates invalid migrations, eg: