does troi db meant to be updated or every time I need to create it from scratch?
When trying to run troi db scan on database that was created before I’m getting this error
Traceback (most recent call last):
File "/.venv/lib/python3.13/site-packages/peewee.py", line 3306, in execute_sql
cursor.execute(sql, params or ())
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
sqlite3.IntegrityError: FOREIGN KEY constraint failed
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/.venv/bin/troi", line 8, in <module>
sys.exit(cli())
~~~^^
File "/.venv/lib/python3.13/site-packages/click/core.py", line 1485, in __call__
return self.main(*args, **kwargs)
~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/.venv/lib/python3.13/site-packages/click/core.py", line 1406, in main
rv = self.invoke(ctx)
File "/.venv/lib/python3.13/site-packages/click/core.py", line 1873, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/.venv/lib/python3.13/site-packages/click/core.py", line 1873, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/.venv/lib/python3.13/site-packages/click/core.py", line 1269, in invoke
return ctx.invoke(self.callback, **ctx.params)
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/.venv/lib/python3.13/site-packages/click/core.py", line 824, in invoke
return callback(*args, **kwargs)
File "/.venv/lib/python3.13/site-packages/troi/content_resolver/cli.py", line 129, in scan
db.scan(music_dirs, chunksize=chunksize, force=force)
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/.venv/lib/python3.13/site-packages/troi/content_resolver/database.py", line 173, in scan
self.traverse()
~~~~~~~~~~~~~^^
File "/.venv/lib/python3.13/site-packages/troi/content_resolver/database.py", line 225, in traverse
self.process_chunk()
~~~~~~~~~~~~~~~~~~^^
File "/.venv/lib/python3.13/site-packages/troi/content_resolver/database.py", line 410, in process_chunk
statuses += self.read_metadata_and_add(self.chunk)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/.venv/lib/python3.13/site-packages/troi/content_resolver/database.py", line 316, in read_metadata_and_add
result = Recording.insert_many(datas).on_conflict_replace().execute()
File "/.venv/lib/python3.13/site-packages/peewee.py", line 2010, in inner
return method(self, database, *args, **kwargs)
File "/.venv/lib/python3.13/site-packages/peewee.py", line 2081, in execute
return self._execute(database)
~~~~~~~~~~~~~^^^^^^^^^^
File "/.venv/lib/python3.13/site-packages/peewee.py", line 2886, in _execute
return super(Insert, self)._execute(database)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/.venv/lib/python3.13/site-packages/peewee.py", line 2599, in _execute
cursor = database.execute(self)
File "/.venv/lib/python3.13/site-packages/peewee.py", line 3312, in execute
return self.execute_sql(sql, params)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/.venv/lib/python3.13/site-packages/peewee.py", line 3304, in execute_sql
with __exception_wrapper__:
^^^^^^^^^^^^^^^^^^^^^
File "/.venv/lib/python3.13/site-packages/peewee.py", line 3076, in __exit__
reraise(new_type, new_type(exc_value, *exc_args), traceback)
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/.venv/lib/python3.13/site-packages/peewee.py", line 162, in reraise
raise value.with_traceback(tb)
File "/.venv/lib/python3.13/site-packages/peewee.py", line 3306, in execute_sql
cursor.execute(sql, params or ())
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
peewee.IntegrityError: FOREIGN KEY constraint failed