Took some time until I found out where the DB is saved, afaik the only way I know where it will actually be saved (IOS/Android) is by importing sqflite and then calling its getDatabasesPath method and appending the name passed via FlutterQueryExecutor
The problem is that not all database implementations are based on a path (there is VmDatabase.memory(), the web implementation also doesn't have a path). So we can't expose that information through OpeningDetails (or any api that works across implementations, really).
After the database has been opened, you can use FlutterQueryExecutor.sqfliteDb.path to obtain the path.
Good point, can you tell me how I can access the FlutterQueryExecutor after the Database has been created?
I assume I have to have it as a member variable of the Database instead of a constructor parameter?
Oh and the reason why I'm doing is is because I want to implement backup/restore functionality so I'm uploading the file to Google Drive
The next problem I'll probably encounter is how to restore the file received
I would really appreciate it if you could tell me how I can basically "swap" the database file, I guess hot swap would break stuff like streams, is there anything else I'll need to consider?
Is the file modifiable while the Database is running?
Is closing, exchanging and reopening the Database a solution?
how I can access the FlutterQueryExecutor after the Database has been created?
Making it a field is a clean and explicit solution. Another way would be to use executor as FlutterQueryExecutor in your database class.
Is closing, exchanging and reopening the Database a solution?
That should work, yes.
Alright, danke :D