Djangoの移行エラーは、外部キー制約を追加することはできません

エラー解析

データベースの交換後
文字セットのエラー
これは、元のライブラリの文字セットと外部キーの新しいライブラリと同じではありません
 
図:
 

ソリューション:

 

1.単一故障に移行する必要がある(この間違いの出現以来は、一度それが移動したことを説明)

2.現在の文字セットテーブルの外部キー列(またはCOLLATE)を変更し、外部キーテーブルに関連付けられている文字セットを変更します

  1. テーブル作成文を見る(主に文字セット外部キーテーブルの主キーを参照します)
    SHOW CREATE  TABLEを `user_group`(表作成コマンドを参照してください)
  2. 文字セットを変更します。
    ALTER  TABLEの MODIFYはEMPLOYEE_ID user_group_info VARCHAR30CHARACTER  SETの utf8mb4のCOLLATEのutf8mb4_unicode_ciと、

3.手動で外部キー制約に新しいテーブルを追加

変更 テーブルを user_group_info 追加 制約を user_group_info_id_869a94b79388475b_fk_employee_info_id` ` 外来 キー(` employee_id`)REFERENCES `employee_info`(` id`)ON  DELETE  SETの NULL  ON  UPDATE NO ACTION。

4.第二の移行プラスフェイク

Pythonは--fake移行manage.pyの

 

 

おすすめ

転載: www.cnblogs.com/fixdq/p/11703649.html