Open
Description
A situation that confuses db-sync currently:
- dbsync is started (from database) with project A and base schema A in the database
- dbsync is stopped
- user modifies the configuration to use a newly created project B (at version 0), but does not remove the base schema A
- dbsync is started again - it prints that "Modified and base schemas already exist" and then fails to download a non-existent version of a project
This is because in dbsync.py in init(), when the base schema exists and the project directory does not exist, we are downloading the project at the version that is read from the base schema's metadata - but without checking it is the same project ID
The correct behavior should be to detect that base schema has been used with a different project ID, and then throw a db sync error, with a suggestion to run db sync with --force-init
(or to delete the base schema manually).