Hello,
I've inserted record into database, then record got changed in the database.

Now I have more record to insert, some that I've already imported and
will give me "Unique key error" aka IntegrityError. In sql I was able
to tell to dissregard these errors and continue to next record.

In TG2 I have created a load.py file that has:

from ubs.model import *

conf_dict = appconfig('config:%s' % os.path.join(os.getcwd(),
'../../development.ini'))
engine = create_engine(conf_dict['sqlalchemy.url'])
engine.echo=False
init_model(engine)
#end of tg2 session

from ubs.model import DBSession, metadata
from ubs.model.policy import Policy, Installment
import transaction

#some manipulation


transaction.commit

But the transaction Will not allow me to skip the "duplicate key" ?
How can I do that?

One option is to change from autocommit = False to True and catch the
exceptions but then I would need to redo the whole sessionmake from
tg2 model/__init__.py ????

Is there a way I can tell transaction.commit to "warn me about the
integrity errors, but allow the rest of the transactions that are good
to go through and commit?"

Thanks,
Lucas



try excpt Integrity error by doing DBSession.flush does not work:
sqlalchemy.exc.InvalidRequestError: This Session's transaction has
been rolled back due to a previous exception during flush. To begin a
new transaction with this Session, first issue Session.rollback().
Original exception was: (IntegrityError) columns...........

-- 
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en.

Reply via email to