#25521: squashmigrations tries to add foreign keys to removed models -------------------------------------+------------------------------------- Reporter: keturn | Owner: nobody Type: | Status: closed Cleanup/optimization | Component: Migrations | Version: 1.8 Severity: Normal | Resolution: needsinfo Keywords: | Triage Stage: | Unreviewed Has patch: 0 | Needs documentation: 0 Needs tests: 0 | Patch needs improvement: 0 Easy pickings: 0 | UI/UX: 0 -------------------------------------+------------------------------------- Changes (by timgraham):
* status: new => closed * resolution: => needsinfo * needs_tests: => 0 * needs_better_patch: => 0 * needs_docs: => 0 * type: Uncategorized => Cleanup/optimization Comment: I think we'll need more specific steps to reproduce the issue. Here's what I tried: {{{ $ python manage.py makemigrations Migrations for 'bar': 0001_initial.py: - Create model Bar: class Bar(models.Model): pass Migrations for 'foo': 0001_initial.py: - Create model Foo: class Foo(models.Model): pass $ python manage.py makemigrations Migrations for 'foo': 0002_foo_bar.py: - Add field bar to foo: bar = models.ForeignKey('bar.Bar', null=True, blank=True) $ python manage.py makemigrations Migrations for 'foo': 0003_remove_foo_bar.py: - Remove field bar from foo $ python manage.py makemigrations Migrations for 'bar': 0002_delete_bar.py: - Delete model Bar $ python manage.py squashmigrations foo 0003 Will squash the following migrations: - 0001_initial - 0002_foo_bar - 0003_remove_foo_bar Do you wish to proceed? [yN] y Optimizing... Optimized from 3 operations to 1 operations. Created new squashed migration /home/tim/code/mysite/foo/migrations/0001_squashed_0003_remove_foo_bar.py You should commit this migration but leave the old ones in place; the new migration will be used for new installs. Once you are sure all instances of the codebase have applied the migrations you squashed, you can delete them. $ python manage.py migrate Operations to perform: Apply all migrations: bar, sessions, auth, admin, contenttypes, polls, foo Running migrations: Rendering model states... DONE Applying bar.0001_initial... OK Applying bar.0002_delete_bar... OK Applying foo.0001_squashed_0003_remove_foo_bar... OK }}} Tested at a76309f007fff6957f39190b06f8a9055f73130f (Django 1.10.dev). -- Ticket URL: <https://code.djangoproject.com/ticket/25521#comment:1> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/064.1dd7a65343bf271abe995597e81bb208%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.