#24362: Migration test failure on Oracle
-------------------------------------------+------------------------
               Reporter:  shaib            |          Owner:  nobody
                   Type:  Bug              |         Status:  new
              Component:  Migrations       |        Version:  1.7
               Severity:  Release blocker  |       Keywords:  oracle
           Triage Stage:  Accepted         |      Has patch:  0
    Needs documentation:  0                |    Needs tests:  0
Patch needs improvement:  0                |  Easy pickings:  0
                  UI/UX:  0                |
-------------------------------------------+------------------------
 On CI, reporoduces also on my laptop:
 {{{#!python
 ======================================================================
 ERROR [0.000s]: test_run_python_related_assignment
 (migrations.test_operations.OperationTests)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File ".../tests/migrations/test_operations.py", line 1714, in
 test_run_python_related_assignment
     create_old_man.database_forwards("test_books", editor, project_state,
 new_state)
   File ".../django/db/migrations/operations/special.py", line 179, in
 database_forwards
     self.code(from_state.apps, schema_editor)
   File ".../tests/migrations/test_operations.py", line 1671, in
 inner_method
     author = Author.objects.create(name="Hemingway")
   File ".../django/db/models/manager.py", line 127, in manager_method
     return getattr(self.get_queryset(), name)(*args, **kwargs)
   File ".../django/db/models/query.py", line 401, in create
     obj.save(force_insert=True, using=self.db)
   File ".../django/db/models/base.py", line 676, in save
     force_update=force_update, update_fields=update_fields)
   File ".../django/db/models/base.py", line 704, in save_base
     updated = self._save_table(raw, cls, force_insert, force_update,
 using, update_fields)
   File ".../django/db/models/base.py", line 788, in _save_table
     result = self._do_insert(cls._base_manager, using, fields, update_pk,
 raw)
   File ".../django/db/models/base.py", line 827, in _do_insert
     using=using, raw=raw)
   File ".../django/db/models/manager.py", line 127, in manager_method
     return getattr(self.get_queryset(), name)(*args, **kwargs)
   File ".../django/db/models/query.py", line 1026, in _insert
     return query.get_compiler(using=using).execute_sql(return_id)
   File ".../django/db/models/sql/compiler.py", line 963, in execute_sql
     cursor.execute(sql, params)
   File ".../django/db/backends/utils.py", line 64, in execute
     return self.cursor.execute(sql, params)
   File ".../django/db/utils.py", line 92, in __exit__
     six.reraise(dj_exc_type, dj_exc_value, traceback)
   File ".../django/db/backends/utils.py", line 64, in execute
     return self.cursor.execute(sql, params)
   File ".../django/db/backends/oracle/base.py", line 478, in execute
     return self.cursor.execute(query, self._param_generator(params))
 IntegrityError: ORA-01400: cannot insert NULL into
 ("D_DJANGOORACLE_27"."TEST_AUTHORS_AUTHOR"."ID")
 }}}

 Bisecting leads to the commit that added the test; it was added (failing)
 for #24282, and the failure was later fixed.
 The failure on Oracle is unrelated to the problem reported on the ticket,
 but since the solution (b29f3b51204d53c1c8745966476543d068c173a2) involved
 a rewrite of model reloading, it may be related.

--
Ticket URL: <https://code.djangoproject.com/ticket/24362>
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 django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/048.2305301e9bdac55635c0905a26e54dfb%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to