sql >> データベース >  >> RDS >> Mysql

Djangoを使用して既存のMyISAMデータベースをInnoDBに変換する

    これは役立つかもしれません:

    from django.core.management.base import BaseCommand
    from django.db import connections
    
    
    class Command(BaseCommand):
    
        def handle(self, database="default", *args, **options):
    
            cursor = connections[database].cursor()
    
            cursor.execute("SHOW TABLE STATUS")
    
            for row in cursor.fetchall():
                if row[1] != "InnoDB":
                    print "Converting %s" % row[0],
                    print cursor.execute("ALTER TABLE %s ENGINE=INNODB" % row[0])
    

    これをアプリの管理/コマンド/フォルダーの下に追加します。次に、manage.pyコマンドを使用してすべてのテーブルを変換できます。

    python manage.py convert_to_innodb
    


    1. Active Recordに一括挿入するために作成されたIDのリストを取得するにはどうすればよいですか?

    2. PG列をNULLABLETRUEに変更するにはどうすればよいですか?

    3. RRMySQLクエリは日本語の文字を変形します

    4. $_POST変数を並べ替える