Untitled

 avatar
unknown
plain_text
3 years ago
6.8 kB
6
Indexable

In [2]: notification = Notification()

In [3]: notification.message_text = "Hello"

In [4]: sa_session.add(notification)

In [5]: sa_session.flush()
---------------------------------------------------------------------------
IntegrityError                            Traceback (most recent call last)
~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py in _execute_context(self, dialect, constructor, statement, parameters, execution_options, *args, **kw)
   1808                     self.dialect.do_execute(
-> 1809                         cursor, statement, parameters, context
   1810                     )

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/engine/default.py in do_execute(self, cursor, statement, parameters, context)
    731     def do_execute(self, cursor, statement, parameters, context=None):
--> 732         cursor.execute(statement, parameters)
    733 

IntegrityError: UNIQUE constraint failed: notification_push.message_text

The above exception was the direct cause of the following exception:

IntegrityError                            Traceback (most recent call last)
<ipython-input-5-e54f493ed53f> in <module>
----> 1 sa_session.flush()

<string> in flush(self, objects)

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/orm/session.py in flush(self, objects)
   3361         try:
   3362             self._flushing = True
-> 3363             self._flush(objects)
   3364         finally:
   3365             self._flushing = False

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/orm/session.py in _flush(self, objects)
   3501         except:
   3502             with util.safe_reraise():
-> 3503                 transaction.rollback(_capture_exception=True)
   3504 
   3505     def bulk_save_objects(

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py in __exit__(self, type_, value, traceback)
     70                 compat.raise_(
     71                     exc_value,
---> 72                     with_traceback=exc_tb,
     73                 )
     74         else:

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/util/compat.py in raise_(***failed resolving arguments***)
    205 
    206         try:
--> 207             raise exception
    208         finally:
    209             # credit to

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/orm/session.py in _flush(self, objects)
   3461             self._warn_on_events = True
   3462             try:
-> 3463                 flush_context.execute()
   3464             finally:
   3465                 self._warn_on_events = False

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py in execute(self)
    454         else:
    455             for rec in topological.sort(self.dependencies, postsort_actions):
--> 456                 rec.execute(self)
    457 
    458     def finalize_flush_changes(self):

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py in execute(self, uow)
    631             self.mapper,
    632             uow.states_for_mapper_hierarchy(self.mapper, False, False),
--> 633             uow,
    634         )
    635 

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py in save_obj(base_mapper, states, uowtransaction, single)
    247             mapper,
    248             table,
--> 249             insert,
    250         )
    251 

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py in _emit_insert_statements(base_mapper, uowtransaction, mapper, table, insert, bookkeeping)
   1238                             statement,
   1239                             params,
-> 1240                             execution_options=execution_options,
   1241                         )
   1242 

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py in _execute_20(self, statement, parameters, execution_options)
   1618             )
   1619         else:
-> 1620             return meth(self, args_10style, kwargs_10style, execution_options)
   1621 
   1622     def exec_driver_sql(

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/sql/elements.py in _execute_on_connection(self, connection, multiparams, params, execution_options, _force)
    324         if _force or self.supports_execution:
    325             return connection._execute_clauseelement(
--> 326                 self, multiparams, params, execution_options
    327             )
    328         else:

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py in _execute_clauseelement(self, elem, multiparams, params, execution_options)
   1495             elem,
   1496             extracted_params,
-> 1497             cache_hit=cache_hit,
   1498         )
   1499         if has_events:

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py in _execute_context(self, dialect, constructor, statement, parameters, execution_options, *args, **kw)
   1850         except BaseException as e:
   1851             self._handle_dbapi_exception(
-> 1852                 e, statement, parameters, cursor, context
   1853             )
   1854 

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py in _handle_dbapi_exception(self, e, statement, parameters, cursor, context)
   2031             elif should_wrap:
   2032                 util.raise_(
-> 2033                     sqlalchemy_exception, with_traceback=exc_info[2], from_=e
   2034                 )
   2035             else:

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/util/compat.py in raise_(***failed resolving arguments***)
    205 
    206         try:
--> 207             raise exception
    208         finally:
    209             # credit to

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py in _execute_context(self, dialect, constructor, statement, parameters, execution_options, *args, **kw)
   1807                 if not evt_handled:
   1808                     self.dialect.do_execute(
-> 1809                         cursor, statement, parameters, context
   1810                     )
   1811 

~/galaxy/.venv/lib/python3.7/site-packages/sqlalchemy/engine/default.py in do_execute(self, cursor, statement, parameters, context)
    730 
    731     def do_execute(self, cursor, statement, parameters, context=None):
--> 732         cursor.execute(statement, parameters)
    733 
    734     def do_execute_no_params(self, cursor, statement, context=None):

IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint failed: notification_push.message_text
[SQL: INSERT INTO notification_push (create_time, update_time, message_text, deleted) VALUES (?, ?, ?, ?)]
[parameters: ('2022-07-13 14:01:31.609532', '2022-07-13 14:01:31.609540', 'Hello', 0)]
(Background on this error at: https://sqlalche.me/e/14/gkpj)
Editor is loading...