Re: [sqlalchemy] Primary key not unique?

2010-06-28 Thread Conor
On 06/14/2010 12:13 PM, Az wrote:
 I've got an error that says the primary key is not unique. This
 shouldn't be possible since my primary keys are unique IDs :S
   

It sounds like you are importing the same projects from your XML file to
the database multiple times. If you used session.merge instead of
session.add in addToTable, SQLAlchemy should be updating the existing
project rows instead of trying to insert new ones. I don't do this much
myself, so I could be wrong.

 This is only happening after I switched to a physical sqlite3 database
 from the :memory: one
   

This is because you are now starting from a populated database instead
of an empty one.

 #BEGIN#

 File Main.py, line 97, in module
 MCS.addToTable()
   File /XXX/MonteCarloSimulation.py, line 77, in addToTable
 session.flush()
   File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
 lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/
 session.py, line 1354, in flush
 self._flush(objects)
   File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
 lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/
 session.py, line 1432, in _flush
 flush_context.execute()
   File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
 lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/
 unitofwork.py, line 261, in execute
 UOWExecutor().execute(self, tasks)
   File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
 lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/
 unitofwork.py, line 753, in execute
 self.execute_save_steps(trans, task)
   File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
 lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/
 unitofwork.py, line 768, in execute_save_steps
 self.save_objects(trans, task)
   File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
 lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/
 unitofwork.py, line 759, in save_objects
 task.mapper._save_obj(task.polymorphic_tosave_objects, trans)
   File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
 lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/
 mapper.py, line 1428, in _save_obj
 c = connection.execute(statement.values(value_params), params)
   File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
 lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/
 engine/base.py, line 824, in execute
 return Connection.executors[c](self, object, multiparams, params)
   File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
 lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/
 engine/base.py, line 874, in _execute_clauseelement
 return self.__execute_context(context)
   File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
 lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/
 engine/base.py, line 896, in __execute_context
 self._cursor_execute(context.cursor, context.statement,
 context.parameters[0], context=context)
   File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
 lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/
 engine/base.py, line 950, in _cursor_execute
 self._handle_dbapi_exception(e, statement, parameters, cursor,
 context)
   File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
 lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/
 engine/base.py, line 931, in _handle_dbapi_exception
 raise exc.DBAPIError.instance(statement, parameters, e,
 connection_invalidated=is_disconnect)
 sqlalchemy.exc.IntegrityError: (IntegrityError) PRIMARY KEY must be
 unique u'INSERT INTO projs (proj_id, proj_allocated, proj_blocked,
 proj_sup, presim_pop) VALUES (?, ?, ?, ?, ?)' [111, None, None,
 44, 0]

 #END#
   

-- 
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.



[sqlalchemy] Primary key not unique?

2010-06-14 Thread Az
I've got an error that says the primary key is not unique. This
shouldn't be possible since my primary keys are unique IDs :S

This is only happening after I switched to a physical sqlite3 database
from the :memory: one


#BEGIN#

File Main.py, line 97, in module
MCS.addToTable()
  File /XXX/MonteCarloSimulation.py, line 77, in addToTable
session.flush()
  File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/
session.py, line 1354, in flush
self._flush(objects)
  File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/
session.py, line 1432, in _flush
flush_context.execute()
  File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/
unitofwork.py, line 261, in execute
UOWExecutor().execute(self, tasks)
  File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/
unitofwork.py, line 753, in execute
self.execute_save_steps(trans, task)
  File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/
unitofwork.py, line 768, in execute_save_steps
self.save_objects(trans, task)
  File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/
unitofwork.py, line 759, in save_objects
task.mapper._save_obj(task.polymorphic_tosave_objects, trans)
  File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/
mapper.py, line 1428, in _save_obj
c = connection.execute(statement.values(value_params), params)
  File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/
engine/base.py, line 824, in execute
return Connection.executors[c](self, object, multiparams, params)
  File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/
engine/base.py, line 874, in _execute_clauseelement
return self.__execute_context(context)
  File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/
engine/base.py, line 896, in __execute_context
self._cursor_execute(context.cursor, context.statement,
context.parameters[0], context=context)
  File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/
engine/base.py, line 950, in _cursor_execute
self._handle_dbapi_exception(e, statement, parameters, cursor,
context)
  File /opt/local/Library/Frameworks/Python.framework/Versions/2.6/
lib/python2.6/site-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/
engine/base.py, line 931, in _handle_dbapi_exception
raise exc.DBAPIError.instance(statement, parameters, e,
connection_invalidated=is_disconnect)
sqlalchemy.exc.IntegrityError: (IntegrityError) PRIMARY KEY must be
unique u'INSERT INTO projs (proj_id, proj_allocated, proj_blocked,
proj_sup, presim_pop) VALUES (?, ?, ?, ?, ?)' [111, None, None,
44, 0]

#END#

-- 
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.