Чтобы автоматизировать миграцию, не вводя ее каждый раз вручную, вы можете создать сценарий bash
, который обрабатывает порядок миграций для вас.Вот пример:
migrations.sh:
#!/bin/bash
APP='my_app_name'
# Here list the migration's files order
LIST=( '0001 0002 0003 0004' )
for i in $LIST; do
echo 'Applying migration' $i
python manage.py migrate $(echo $APP) $(echo $i)
done
Затем поставьте себя на тот же уровень, что и manage.py
и выполните:
$> sh migrations.sh
Будет выведено что-то вроде этого:
Applying migration 0001
Operations to perform:
Target specific migration: 0001_initial, from my_app_name
Running migrations:
Rendering model states... DONE
...
Для получения дополнительной информации посетите Документация Django: миграция