Before reviewing database migrations, we need to refactor the while database code. It will be easy and I do not expect compatibility breaking.
After that ticket will be done, it will be easier to add new specific files like engine/dao/migration.py, for instance.
Split the big engine/dao/sqlite.py into smaller files with specific meaning:
- engine/dao/__init__.py: will import and register SQLite adapters.
- engine/dao/adapters.py: SQLite adapters.
- engine/dao/base.py: ConfigurationDAO and shared objects.
- engine/dao/engine.py: EngineDAO and constants.
- engine/dao/manager.py: ManagerDAO
Rename ConfigurationDAO to BaseDAO.