sql >> Databáze >  >> RDS >> Mysql

Převod existující databáze MyISAM na InnoDB pomocí Django

To by mohlo pomoci:

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])

Přidejte to do své aplikace pod správou složek/příkazy/ Poté můžete všechny své tabulky převést pomocí příkazu manage.py:

python manage.py convert_to_innodb


  1. Jak uzamknu řádek InnoDB, který ještě neexistuje?

  2. Použijte klíčové slovo SQL jako název aliasu sloupce

  3. Proč používat omezení cizího klíče v MySQL?

  4. MySQL - UPDATE více řádků s různými hodnotami v jednom dotazu