#36438: makemigrations removes fields in wrong order when GeneratedFields are
involved
-------------------------------------+-------------------------------------
     Reporter:  csaska               |                    Owner:  (none)
         Type:                       |                   Status:  new
  Cleanup/optimization               |
    Component:  Database layer       |                  Version:  5.2
  (models, ORM)                      |
     Severity:  Normal               |               Resolution:
     Keywords:                       |             Triage Stage:
                                     |  Unreviewed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  1                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Comment (by csaska):

 Replying to [ticket:36438 csaska]:
 > Consider a model like PayItem with fields quantity, rate and total.
 >
 > When total is a GeneratedField dependent on quantity, if you remove
 quantity and total and generate migrations you get a migration like
 >
 >
 > {{{
 >     operations = [
 >         migrations.RemoveField(
 >             model_name="payitem",
 >             name="total",
 >         ),
 >         migrations.RemoveField(
 >             model_name="payitem",
 >             name="quantity",
 >         ),
 >     ]
 > }}}
 >
 > which will throw django.db.utils.OperationalError: (3108, "Column
 'amount' has a generated column dependency.").
 >
 > It'd be nice if makemigrations listed operations in the correct order.

 In my example, I actually had fields amount, rate and total. Perhaps it
 using alphabetical order and thus dropping amount operation comes before
 dropping total operation?
-- 
Ticket URL: <https://code.djangoproject.com/ticket/36438#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 [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/django-updates/010701973b9b7717-fb9ec192-b253-4232-a838-c11cf01b5eb9-000000%40eu-central-1.amazonses.com.

Reply via email to