Mysql
 sql >> Base de données >  >> RDS >> Mysql

Django migration sud - Ajout d'index FULLTEXT

Vous pouvez écrire n'importe quoi en tant que migration. C'est le but !

Une fois que vous avez South opérationnel, saisissez python manage.py schemamigration myapp --empty my_custom_migration pour créer une migration vierge que vous pouvez personnaliser.

Ouvrez le XXXX_my_custom_migration.py fichier dans myapp/migrations/ et saisissez votre migration SQL personnalisée dans le forwards méthode. Par exemple, vous pouvez utiliser db.execute

La migration pourrait ressembler à ceci :

class Migration(SchemaMigration):

    def forwards(self, orm):
        db.execute("CREATE FULLTEXT INDEX foo ON bar (foobar)")
        print "Just created a fulltext index..."
        print "And calculated {answer}".format(answer=40+2)


    def backwards(self, orm):
        raise RuntimeError("Cannot reverse this migration.") 
        # or what have you


$ python manage.py migrate myapp XXXX # or just python manage.py migrate.
"Just created fulltext index...."
"And calculated 42"