#25621: AlterField to ForeignKey reverse migration doesn't drop the constraint
----------------------------+--------------------
Reporter: mgedmin | Owner: nobody
Type: Bug | Status: new
Component: Migrations | Version: 1.8
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Easy pickings: 0 | UI/UX: 0
----------------------------+--------------------
I'm changing a data model that had a
{{{
source_id = CharField()
}}}
field to a
{{{
source_resolution = ForeignKey(CommitteeResolution, db_column='source_id',
to_field='source_id')
}}}
so that my database schema remains the same, but now the column is a
foreign key reference to another table.
I've adjusted the migrations file manually to avoid dropping/re-creating
columns. The migration looks like this now:
{{{
operations = [
migrations.AlterField(
model_name='suggestion',
name='source_id',
field=models.ForeignKey(db_column=b'source_id',
to_field=b'source_id', to='mps_v2.CommitteeResolution'),
preserve_default=False,
),
migrations.RenameField(
model_name='suggestion',
old_name='source_id',
new_name='source_resolution',
),
migrations.AlterUniqueTogether(
name='suggestion',
unique_together=set([('source_resolution', 'source_index')]),
),
]
}}}
The forward migration is exactly as I expect it to be:
{{{
$ django-admin sqlmigrate mps_v2 0029
BEGIN;
ALTER TABLE `mps_v2_suggestion` ADD CONSTRAINT
`D58bb2cf0b1407c8c24fa06b0cc34f38` FOREIGN KEY (`source_id`) REFERENCES
`mps_v2_committeeresolution` (`source_id`);
COMMIT;
}}}
I expect the reverse migration to drop the constraint.
It doesn't:
{{{
$ django-admin sqlmigrate mps_v2 0029 --backwards
}}}
(there's no output).
--
Ticket URL: <https://code.djangoproject.com/ticket/25621>
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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/050.5ff8885e78fe30d1804bec5d211f6998%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.