Да, вам нужно сделать тот же «трюк».Когда вы переименовываете ссылочную таблицу, ограничения внешнего ключа по-прежнему ссылаются на нее под новым именем.Поскольку SQLite не поддерживает «DROP CONSTRAINT», вам придется перестраивать ссылочные таблицы с исправленными ограничениями внешнего ключа.
Фактически вы не сможете удалить старую таблицу доВы исправляете ссылки на внешние ключи.Пока PRAGMA foreign_keys=ON;
, SQLite3 не позволит вам удалить таблицу, на которую все еще ссылаются внешние ключи.