Я перерабатываю веб-приложение и его инфраструктуру, изначально используя SQL Server 2005, ASP.NET и Windows 2003, для стека LAMMP (дополнительно M для memcached, конечно), и поскольку схема подвергается сильному рефакторингу (с очень веской причиной для этого)Итак) Я должен написать пользовательское приложение миграции.
Проблема в том, что ограничения первичного + внешнего ключа InnoDB препятствуют моей возможности вставлять данные в его таблицы MySQL / InnoDB. Я уже пытался использовать методы DISABLE KEYS & FOREIGN_KEY_CHECKS и временно удалять автоинкремент на первичном сервере, либо выдавая ошибку, когда пытался сделать одно из этих изменений, например DISABLE KEYS, поскольку он не поддерживается в InnoDB, или пытался удалитьназначение первичного ключа для столбца в пустой таблице или в приложении миграции выдает ошибки, говоря, что ключ уже существует при вводе записи, когда таблица пуста. Есть ли что-нибудь еще, что может быть сделано помимо этого, кроме удаления всех ключей вначале и их последующего возврата (что, я полагаю, тоже даст мне ад)?
Спасибо!