Opened 7 years ago
Last modified 6 years ago
#22997 new Bug
Migration fails when removing explicit primary key (Postgres)
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | Migrations | Version: | 1.7 |
Severity: | Normal | Keywords: | migrate primary_key |
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
The automatic migration created by migrate fails when
- a table was created with a field where "primary_key=True" is specified.
- data is added to the table
- The model is modified so that no field is primary key, and Django auto-creates "id" field.
To reproduce the problem:
- create new model, set some field as primary key
- set up migrations with initial migration
- modify model so field is not primary key
- generate migration
Problems:
- will ask for default value for auto-generated ID field
- will try to create id field as primary key, before modifying existing key
Manual Fix:
- remove default from models.AutoField() call
- reverse order of operations so AlterField() comes before AddField()
I'm attaching a session log with a complete transcript.
Attachments (1)
Change History (4)
Changed 7 years ago by
Attachment: | django_session_log.txt added |
---|
comment:1 Changed 7 years ago by
Component: | Database layer (models, ORM) → Migrations |
---|---|
Triage Stage: | Unreviewed → Accepted |
Type: | Uncategorized → Bug |
I guess it's probably too much of an edge case to be a blocker for 1.7, but would be nice if it "just worked".
comment:2 Changed 6 years ago by
Version: | 1.7-rc-1 → 1.7 |
---|
Note: See
TracTickets for help on using
tickets.
Terminal session log demonstrating issue in 22997.