Change the app signature to record all applied migrations.
Review Request #10593 — Created June 14, 2019 and submitted
The app signature was storing the starting and last applied migration
names, but as migrations are a graph, this wasn't sufficient. We're not
guaranteed any order when it comes to migration names (the numeric
prefix is just a convention), and things like squashed migrations make
this more complicated.
Now, the signature stores the complete list of migrations that have been
applied to an app, removing the old data on starting and last applied.
MoveToDjangoMigrationsmutation takes this as well, as the only
parameter. It defaults to
0001_initial, but if the existing evolution
history for an app is equivalent to more than one migration, those can
be specified directly when constructing the mutation.
Unit tests pass on all supported versions of Django.