with tutorial site framework fra español applications django django-migrations

tutorial - framework django python



¿Es seguro renombrar el archivo de migraciones de Django? (2)

Desde Django 1.8, el comando makemigrations tiene una option makemigrations --name, -n para especificar un nombre personalizado para el archivo de migraciones creado.

Me gustaría saber si es seguro en versiones anteriores de Django crear el archivo de migraciones con el nombre generado automáticamente y luego cambiar el nombre del archivo manualmente. Parece funcionar como se esperaba. ¿Hay algún riesgo potencial?


Esto funciona, con una pequeña advertencia: Django ya no sabrá que se aplica la migración con el nuevo nombre.

Así que los pasos para renombrar una migración son:

  1. Renombra el archivo.
  2. Vuelve a colocar cualquier dependencia al nuevo archivo.
  3. Si la migración renombrada ya se aplicó, aplíquela nuevamente usando --fake .

Si se trata de una migración completamente nueva, 2 y 3 no se aplicarán y está perfectamente bien cambiarles el nombre.


Esto sucede en Django cada vez que se aplastan las migraciones. Se genera un nuevo archivo que contiene la variable de clase que replaces , esto enumera los archivos de migración que se están reemplazando.

Entonces, para renombrar un archivo de migración de archivos, agregue la siguiente variable en la clase Migración:

replaces = [(''app name'', ''migration file name''), ]

Y todo funciona como lo hizo antes del cambio de archivo.