別のテーブルへの外部キーであるMySQL(5.1.31、InnoDB)の列の名前を変更しようとしています。
最初はDjango-Southを使おうとしましたが、既知の問題が発生しました。
http://south.aeracode.org/ticket/243
OperationalError:(1025、"'./xxx/#sql-bf_4d'の名前を'./xxx/cave_event'に変更する際のエラー(errno:150)")
と
'./xxx/#sql-bf_4b'の名前を'./xxx/cave_event'に変更する際のエラー(errno:150)
このエラー150は、外部キーの制約に確実に関係しています。たとえばを参照してください
mysqlエラー1025(HY000):'./foo'(errorno:150)の名前変更時のエラーはどういう意味ですか?
http://www.xaprb.com/blog/2006/08/22/mysqls-error-1025-explained/
そのため、現在、生のSQLで名前の変更を行おうとしています。最初に外部キーを削除してから名前を変更してから、外部キーを再度追加する必要があるようです。それは正しいですか?これはかなり混乱して面倒に見えるので、より良い方法はありますか?
どんな助けでも大歓迎です!