I found a solution, but it's relatively advanced so not for the faint of heart ...
I noticed that if I created a new database, the new location was properly being used for cache.
I wanted to change my Resolve media storage location from
F:\Data\Resolve to
H:\Data\Resolve. Even after changing the media storage location in settings, I found a pile of stray references to the old location in my Resolve database directory. (I'm using the local database rather than postgres.)
So I just decided to brute-force a search-and-replace in my existing Resolve database directory.
This works on Windows using WSL (Windows Subsystem for Linux). The same should work on Linux, and I assume Mac too.
- Code: Select all
user@host:~$ sudo apt-get install sqlite3
user@host:~$ cd /mnt/f/Projects/Video/Resolve\ Disk\ Database/
user@host:/mnt/f/Projects/Video/Resolve Disk Database/Resolve Projects$ find -name '*.xml' -exec grep -l 'F:\\Data\\Resolve' "{}" \; | xargs sed -i 's,F:\\Data\\Resolve,H:\\Data\\Resolve,'
user@host:/mnt/f/Projects/Video/Resolve Disk Database/Resolve Projects$ find -name '*.db' -exec grep -l 'F:\\Data\\Resolve' "{}" \; | while read db; do sqlite3 "$db" "update SM_UserSetup set GalleryPath='H:\Data\Resolve\.gallery', CachePath='H:\Data\Resolve\CacheClip';"; done