oniony/TMSU

another app using the database?

hydrargyrum opened this issue · 1 comments

I develop sit-tagger, an image file browser with its own file tagging database. I'm considering changing the database schema (which has been designed years ago) to be more like TMSU's one because it's better designed.
A further option would be to even fully support TMSU databases. However, I need some features that are not present in TMSU database, so I have a few questions:

  • Is TMSU's schema "stable"?
  • Is it okay if another app adds a few more tables to a TMSU database (without modifying the existing tables schema)? I don't mean incorporate those changes into TMSU, my app's schema would be a superset of TMSU's schema which would stay unchanged.
  • I probably won't make TMSU a dependency of my app (which is written in python, btw), so my app would be able to create a TMSU database and manipulate it, is it fine? There aren't very many sit-tagger users, so this should not create big breakages in case of a bug :)

On question 2: I have been using additional tables (and triggers on file_tag) in my schema for years now and TMSU continues to work fine. This is on a moderately large database (31k tagged files)

My alterations were also mainly done using Python. TMSU does not to my knowledge do anything particularly exotic with SQLite, so there are probably other people who have successfully done this kind of thing with different languages.