#10215: Dont rollback transaction on errors in management/loaddata in 
"non-commit"
mode.
---------------------------------------------+------------------------------
          Reporter:  MockSoul                |         Owner:  nobody  
            Status:  new                     |     Milestone:  post-1.0
         Component:  Core framework          |       Version:  SVN     
        Resolution:                          |      Keywords:          
             Stage:  Design decision needed  |     Has_patch:  1       
        Needs_docs:  0                       |   Needs_tests:  1       
Needs_better_patch:  0                       |  
---------------------------------------------+------------------------------
Comment (by russellm):

 Karen - when I labeled this as a stealth option, it was because there
 isn't any use for this as an exposed command line option, and we don't
 have a place to document management command options that are available
 programatically but not from the command line. In this case, the option is
 a niche requirement - granted, it isn't needed for #8138, but I can
 conceive of ways that it could be used. If anyone is smart enough to
 realize that transactionless loaddata is what they need, they're smart
 enough to read the code and work out that it is possible. The code is well
 documented in this area, so it shouldn't be difficult to use the option
 (MockSoul certainly managed :-)

 Alex - integrity isn't the issue here. If you're loading data in a
 transaction, you either get all the data or you get none of the data. By
 definition, you can't get into an invalid state. If you're not using a
 transaction, but you are using a database with referential integrity, then
 any non-trivial fixture (i.e., a fixture with forward references) won't
 even load, so you're going to hit problems pretty early. If your database
 doesn't have referential integrity, then you've already taken on the
 burden of validating references at runtime before use.

 Put me down as a +0 for keeping this option; in which case, MockSoul's
 patch seems like the right thing to do. If we're deferring responsibility
 of the transaction to the external method, we should defer _everything_ to
 the external method. Coupled with #10200, that should give MockSoul (et
 al) everything they need to correctly handle transactions in an external
 method.

-- 
Ticket URL: <http://code.djangoproject.com/ticket/10215#comment:6>
Django <http://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 post to this group, send email to django-updates@googlegroups.com
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to