@Lineflyer 
If you check it in the current version, the db file is closed, moved from internal memory to "sd card 0" which is internal emulated sd card on the most of todays devices. Afterwards the db is initialized from the new location.

If you uncheck, it is done the other way: close, moved to internal memory, init.

So what I implemented here for the cache directory is the same as we already have for db. There are some options:
* remove db setting and only use db file in internal mem (some have about 32 MB file)
* keep db setting but just store db file in maybe emulated sd card
* also store db file in cache directory on external sd if set