Opened 9 years ago
Closed 9 years ago
#25621 closed Bug (needsinfo)
AlterField to ForeignKey reverse migration doesn't drop the constraint
Reported by: | Marius Gedminas | Owned by: | nobody |
---|---|---|---|
Component: | Migrations | Version: | 1.8 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
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).
Change History (3)
comment:1 by , 9 years ago
comment:2 by , 9 years ago
MySQL (unfortunately).
The actual project where I stumbled upon this is open source: https://github.com/ManoSeimas/manoseimas.lt/blob/master/manoseimas/mps_v2/migrations/0029_link_suggestion_to_committeeresolution.py
I'll try to provide a minimal example.
comment:3 by , 9 years ago
Resolution: | → needsinfo |
---|---|
Status: | new → closed |
What database are you using? Could you provide a complete minimal project that reproduces it?