Change the app signature to record all applied migrations.

Review Request #10593 — Created June 14, 2019 and submitted

Information

Django Evolution
master

Reviewers

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.

The MoveToDjangoMigrations mutation 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.

Summary ID
Change the app signature to record all applied migrations.
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. The `MoveToDjangoMigrations` mutation 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.
27ea753b5374bd7e48f138da02ed791df3cc3745
david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to master (206f23d)