#28832: django migrations to PostgreSQL not handling order_with_respect_to
removals
-------------------------------------+-------------------------------------
Reporter: AJ | Owner: nobody
Type: Bug | Status: new
Component: Database | Version: 1.11
layer (models, ORM) | Keywords:
Severity: Normal | order_with_respect_to PostgreSQL
Triage Stage: | makemigrations
Unreviewed | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
If you change the Meta fields on a model to remove an
order_with_respect_to tag, it creates a command in the new migration file
like thus:
migrations.AlterOrderWithRespectTo(
name='entry',
order_with_respect_to=None,
),
and everything works hunky-dory for SQLite. However... push your new code
and migration files to a PostgreSQL server, like Heroku, run your
migration file and ...
ERROR 2017-11-22 16:51:18,081 exception 8 140423074580224 Internal
Server Error:
DETAIL: Failing row contains (276, , 2017-11-22, U, 9, 1, null, ).
This little friend starts filling your log files. What does it mean? Well,
a little exploration of the database tables show that the second last
field that django is trying to assign null value to is the _order field.
_order field I'm presuming is only used by the order_with_respect_to tag.
It doesn't seem to be created when a
order = ['score']
command is used.
So it seems somewhere in the process it realises the _order field isn't
needed, is assigning a null value to that column which clashes with a no
null constraint. All when it should have simply deleted the _order field
column after the migration was run.
An incompatibility bug between django and PostgreSQL perhaps?
Insights anyone?
--
Ticket URL: <https://code.djangoproject.com/ticket/28832>
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/054.507eb3c00e47f37b3c486422d1a803a5%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.