Reputation: 1119
I have a django project, and I wish to update a MySQL database from a previous version of the codebase to be compatible with the current version.
I have all of the migrations for the project, but I do not know which was the last one applied to this alternate database.
I can try and determine this manually, but I was wondering if there was an easier automated way of finding which the first unapplied migration is.
Upvotes: 1
Views: 927
Reputation: 476594
You can work with the showmigrations
command [Django-doc], this will generate a list of the migrations where it will check a box in case that migration has been applied, so:
python3 manage.py showmigrations
or for a specific app:
python3 manage.py showmigrations app_name
For example for auth
, a possible result is:
$ python manage.py showmigrations auth
auth
[X] 0001_initial
[X] 0002_alter_permission_name_max_length
[X] 0003_alter_user_email_max_length
[X] 0004_alter_user_username_opts
[X] 0005_alter_user_last_login_null
[X] 0006_require_contenttypes_0002
[X] 0007_alter_validators_add_error_messages
[X] 0008_alter_user_username_max_length
[X] 0009_alter_user_last_name_max_length
[X] 0010_alter_group_name_max_length
[ ] 0011_update_proxy_permissions
[ ] 0012_alter_user_first_name_max_length
This thus means that all migrations have been applied, except the last two.
Upvotes: 4