MySQLはMyISAMテーブルからINNODBに変更されます

5.1から5.7へのMySQLのアップグレード以来ジャンゴ今日更新テーブルのフィールド、。新しいInnoDBはMYISAMから続けることができるの元外部キーを変更する必要があります。

プロセスは少し刺激的ですが、大丈夫、限りプロセスは、明確に考えて、事前にバックアップを作成するよう、それは大きな問題を欠いています。

MySQLの設定では、ジャンゴ:

DATABASES = {
     ' デフォルト' {
         ' ENGINE '' django.db.backends.mysql ' ' NAME '' PDB ' ' USER '' ユーザ' ' PASSWORD '' XXXX ' ' HOST '' 1.2.3.4 ' "PORT ''3306 ' ' OPTIONS ':{ " init_command "" = INNODB default_storage_engine SET; " } 
    } 
}

第二に、テーブルのストレージエンジンは今カレー見ます

SELECT TABLE_NAME、TABLE_TYPE、エンジンFROM INFORMATION_SCHEMA.TABLES 
 TABLE_SCHEMA = ' xxxxDB ' ORDER BY TABLE_NAMEのDESC   

第三に、データテーブルの変更はすべてのエンジンのMySQL文を生成します

SELECT CONCAT(' TABLEをALTER '、TABLE_NAME、' ENGINE = InnoDBは; ' FROM INFORMATION_SCHEMA.TABLES
 TABLE_SCHEMA = ' xxxxDBを' 

の実装でのMySQLへの第四に、これらのステートメント

...
 ALTER  TABLE A ENGINE = InnoDBは、                                
ALTER   BのENGINE = InnoDBテーブルと、                                  
ALTER  TABLE C ENGINE = InnoDBテーブルと、                                 
ALTER  TABLE H ENGINE = InnoDBテーブルと、                                
ALTER   Dエンジン= InnoDBテーブルと、                                  
ALTER  TABLE E ENGINE = InnoDBのを。
...

第五に、そしてショーのエンジンを使用し、InnoDBのにデフォルトエンジンでmy.cnfの中で、あなたはMySQLのデフォルトのストレージエンジンを見ることができます。

ショーエンジン

 あなたは上記の操作をしたら六は、makemigrationsは、コマンドジャンゴ、何の疑問を移行します。上記の手順で操作がうまくいかなかった場合は、データベースを復元し、その後に動作することを忘れないでください。

おすすめ

転載: www.cnblogs.com/aguncn/p/11084088.html
おすすめ