EDIT
The instructions below still work, but nowadays there are easier ways to do this.
I’ll post some general instructions here. Again, this is something that Tropy will hopefully mostly handle for you in the future, but if you need this now, here is what you can do on macOS or Linux (assuming sqlite3
is installed):
- Close Tropy
- Make a copy of your project file. You will be manipulating the database directly, and if anything goes wrong Tropy may not be able to open your project anymore or you might lose data! So please make a copy of your project file and use the copy for the following steps. Let’s assume I made a copy of my project file at
/Users/ariadne/Documents/project.tpy
. - Open a Terminal
- Open the project database:
sqlite3 /Users/ariadne/Documents/project.tpy
- Check to see everything works by typing
select path from photos;
, which should print all the paths of the photos in your project. If the paths are cut-off you can change the display settings by issuing the command.width 80
(or higher, if you have very long paths). - For the actual replacement, it is crucial to know what parts of the path you want to change. Let’s say, some of my photos were at paths like
/Users/ariadne/Desktop/reasearch/x/y/z.jpg
and I have moved theresearch
folder from the Desktop to myPictures
folder, i.e., the path should be changed to:/Users/ariadne/Pictures/research/x/y/z.jpg
. You can make such a change with one command, but you need to be careful to pick a replacement pattern that only matches the photos which you actually moved. So for example, I could my database with this command:update photos set path = replace(path, '/Users/ariadne/Desktop/research', '/Users/ariadne/Pictures/research');
- Optionally, run
select path from photos;
again, to check if the replacement was successful. -
.quit
the database - Start Tropy
- Open the copy of your project with the replaced paths. If everything worked, Tropy should now find all the pictures again.