sql >> Database teknologi >  >> RDS >> Mysql

Konvertering af en eksisterende MyISAM-database til InnoDB med Django

Dette kan måske hjælpe:

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

Føj det til din app under mappestyring/kommandoer/ Så kan du konvertere alle dine tabeller med en manage.py-kommando:

python manage.py convert_to_innodb


  1. Tjek og optimer MySQL-databasen automatisk med Crontab/Cron

  2. Sådan får du nullbar DateTime ud af databasen

  3. Sådan fungerer TRIM() i MariaDB

  4. Hvornår skal jeg bruge MySQLi i stedet for MySQL?