[PYTHON] Benennen Sie den Spaltennamen mit django-south um

Ich überprüfe es ungefähr alle anderthalb Jahre.

Annahme

Arbeitsablauf

$ python manage.py syncdb
$ python manage.py schemamigration app --initial
$ python manage.py migrate --list
$ python manage.py migrate app --fake 0001  #Falsch, weil es schon einen Tisch gibt
$ python manage.py datamigration app underscore  #Der Teil unter der Punktzahl kann alles sein

Wenn Sie auf Datamigration klicken, wird eine Datei mit dem Namen 0002_underscore.py im Migrationsverzeichnis generiert. Fügen Sie der Datei den Code "Welche Änderungen vorgenommen werden müssen" hinzu. Dieses Mal möchte ich es umbenennen, also werde ich die Methode rename_column aufrufen. Es werden nur zwei Zeilen an zwei Stellen vorwärts und rückwärts hinzugefügt.

class Migration(DataMigration):

    def forwards(self, orm):
        "Write your forwards methods here."
        db.rename_column('app_division', 'desc', '_desc')  # <-Hier

    def backwards(self, orm):
        "Write your backwards methods here."
        db.rename_column('app_division', '_desc', 'desc') # <-Hier

これが書けたらまたmanage.py

$ python manage.py migrate app 0002_underscore
$ sqlite3 nannrakano.db '.s' | grep app_division  #Bestätigung

Recommended Posts

Benennen Sie den Spaltennamen mit django-south um
Ersetzen Sie Spaltennamen / -werte durch Pandas-Datenrahmen
Holen Sie sich mit DataFrame eine Spalte aus DataFrame