kfields / deeper

Dungeon RPG using The Python Arcade Library and Rust
https://kfields.github.io/deeper/
MIT License
2 stars 0 forks source link

SqlAlchemy Error #2

Open kfields opened 1 year ago

kfields commented 1 year ago

This error is happening randomly sometimes on start sometimes on exit. Not certain if I introduced a bug when changing the blueprint code or if it's a bug inside SqlAlchemy itself.

Traceback (most recent call last):
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\engine\base.py", line 2100, in _exec_insertmany_context
    dialect.do_execute(cursor, sub_stmt, sub_params, context)
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\engine\default.py", line 748, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: Blueprint

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

Traceback (most recent call last):
  File "C:\Users\kurti\.pyenv\pyenv-win\versions\3.10.6\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\kurti\.pyenv\pyenv-win\versions\3.10.6\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Dev\deeper\deeper\__main__.py", line 5, in <module>
    cli()
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\click\core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\click\core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\click\core.py", line 1635, in invoke
    rv = super().invoke(ctx)
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\click\core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\click\core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\click\decorators.py", line 26, in new_func      
    return f(get_current_context(), *args, **kwargs)
  File "C:\Dev\deeper\deeper\cli\__init__.py", line 12, in cli
    main()
  File "C:\Dev\deeper\deeper\app.py", line 52, in main
    with session.begin():
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\engine\util.py", line 146, in __exit__
    with util.safe_reraise():
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\util\langhelpers.py", line 147, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\engine\util.py", line 144, in __exit__
    self.commit()
  File "<string>", line 2, in commit
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\orm\state_changes.py", line 137, in _go
    ret_value = fn(self, *arg, **kw)
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\orm\session.py", line 1218, in commit
    self._prepare_impl()
  File "<string>", line 2, in _prepare_impl
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\orm\state_changes.py", line 137, in _go
    ret_value = fn(self, *arg, **kw)
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\orm\session.py", line 1193, in _prepare_impl
    self.session.flush()
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\orm\session.py", line 4155, in flush 
    self._flush(objects)
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\orm\session.py", line 4291, in _flush
    with util.safe_reraise():
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\util\langhelpers.py", line 147, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\orm\session.py", line 4252, in _flush
    flush_context.execute()
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\orm\unitofwork.py", line 464, in execute
    n.execute_aggregate(self, set_)
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\orm\unitofwork.py", line 761, in execute_aggregate
    persistence.save_obj(
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\orm\persistence.py", line 93, in save_obj
    _emit_insert_statements(
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\orm\persistence.py", line 1094, in _emit_insert_statements
    result = connection.execute(
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\engine\base.py", line 1414, in execute
    return meth(
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\sql\elements.py", line 486, in _execute_on_connection
    return connection._execute_clauseelement(
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\engine\base.py", line 1638, in _execute_clauseelement
    ret = self._execute_context(
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\engine\base.py", line 1837, in _execute_context
    return self._exec_insertmany_context(
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\engine\base.py", line 2103, in _exec_insertmany_context
    self._handle_dbapi_exception(
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\engine\base.py", line 2326, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\engine\base.py", line 2100, in _exec_insertmany_context
    dialect.do_execute(cursor, sub_stmt, sub_params, context)
  File "C:\Users\kurti\AppData\Local\hatch\env\virtual\deeper-rpg\eqP7Q16l\deeper-rpg\lib\site-packages\sqlalchemy\engine\default.py", line 748, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: Blueprint
[SQL: INSERT INTO "Blueprint" (name, entity_id, parent_id, base_id, type, config) VALUES (?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?) RETURNING id]
[parameters: ('Block', None, None, None, 'EntityBlueprint', '{"_abstract": true, "category": "Block", "components": {"Block": {}}}', 'Block', None, None, None, 'EntityBlueprint', '{"_abstract": true, "category": "Block", "components": {"Block": {}}}', 'Block', None, None, None, 'EntityBlueprint', '{"_abstract": true, "category": "Block", "components": {"Block": {}}}', 'Block', None, None, None, 'EntityBlueprint', '{"_abstract": true, "category": "Block", "components": {"Block": {}}}', 'Node', None, None, None, 'EntityBlueprint', '{"_abstract": true, "category": "Node", "components": {"Node": {}}}', 'Block', None, None, None, 'EntityBlueprint', '{"_abstract": true, "category": "Block", "components": {"Block": {}}}', 'Block', None, None, None, 'EntityBlueprint', '{"_abstract": true, "category": "Block", "components": {"Block": {}}}', 'Block', None, None, None, 'EntityBlueprint', '{"_abstract": true, "category": "Block", "components": {"Block": {}}}', 'Block', None, None, None, 'EntityBlueprint', '{"_abstract": true, "category": "Block", "components": {"Block": {}}}', 'Block', None, None, None, 'EntityBlueprint', '{"_abstract": true, "category": "Block", "components": {"Block": {}}}', 'Block', None, None, None, 'EntityBlueprint', '{"_abstract": true, "category": "Block", "components": {"Block": {}}}', 'Block', None, None, None, 'EntityBlueprint', '{"_abstract": true, "category": "Block", "components": {"Block": {}}}', 'Block', None, None, None, 'EntityBlueprint', '{"_abstract": true, "category": "Block", "components": {"Block": {}}}', 'Block', None, None, None, 'EntityBlueprint', '{"_abstract": true, "category": "Block", "components": {"Block": {}}}')]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
kfields commented 1 year ago

I deleted and recreated the environment, it seems to have fixed the issue but I'll leave this issue open for a little while in case it reappears.