Migrate dt from windows to linux

I’m presently preparing this migration. And try to figure out the best way to proceed.

My current configuration is like this:
• Processor Intel(R) Core™ i7-8700K CPU @ 3.70GHz 3.70 GHz
• Installed RAM 32,0 GB
• GPU Radeon Pro WX 3100
• Display Eizo CS2730 + Asus PA249
• Calibration i1

Windows and all program’s, settings etc is now both on disk 1 and disk 2. Those two disks have the same contents. I plan to backup and then to erase disk 1 and install Ubuntu there. Then install darktable 5.0.1 - same version as I have on Windows.

The question for me is what next? What is the best way to move my database, settings and preview files from disk 2 (Windows) to disk 1 (Ubuntu) and get them available for darktable?

As far as I can see I presently have data in the following directories:
• C:\Users\AenJ\AppData\Local\darktable (database)
• C:\Users\AenJ\Documents\Darktable (darktable-log.txt)
• C:\Users\AenJ\AppData\Local\Microsoft\Windows\INetCache\darktable\mipmaps-8d55539e16f7e0db961bce23c0fd9fa62dfd979a.d (previews)
• My picture files and sidecar files are on disk 3 and will remain there.

I found https://github.com/MmAaXx500/dt-move/blob/master. I still have to read better and understand what exactly it does - unfortunately I’m no programmer - but I do believe it may be usable for me. But I also wonder if it’s safe to use? Who has used this script? And will it still work on darktable 5.0.1? If I use it I think to copy the database + log.txt + previews to disk 1 and then have to run it in order to direct the database to the previews and log.txt.

If the above script doesn’t feel safe - what other options do I have to prevent me from a time consuming reimport of all photo’s + rebuilt previews?

Kind regards Jetze

Hi @Jetze, I’m afraid the link you provided does not work…

Nevertheless, for a start I would just copy files and folders from C:\Users\AenJ\AppData\Local\darktable to ~/.config/darktable.
~ being the user’s home directory, also known as $HOME.

Now you might want to get your dt cache copied from Windows %LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\darktable\ or maybe %LOCALAPPDATA%\Microsoft\Windows\NetCache\darktable\ to Linux ~/.cache/darktable

If you can read french or get a good translator (such as deepl.com) you might have a look at this page.

1 Like

after copying the windows darktable config directory to the unix confid directory you might edit library.db with a sqlite editor to change file locations (table film_rolls) with windows directory naming scheme to the linux naming scheme. (but first backup ;))

3 Likes

OK, the correct link to the tools you were mentioning @Jetze is GitHub - MmAaXx500/dt-move: DT-move is a script to move or synchronize darktable's database between OSes and PCs. (no dot at the end).

And it looks like it does what you want, preforming what @MStraeten was rightly points out.

1 Like

Thanks @manu for finding the right link - I should have checked…
And thanks for the advice! I think I will manage.

Otherwise I will return for advise.

Kind regards Jetze

Thanks @MStraeten ,

I think I will manage quite alright with the combined advise of @manu and you, has been a while using something relational :slight_smile:

Kind regards, Jetze

If you have created sidecar files with your edits, you don’t have to move and edit the database. Just point DT to the root folder of your images and import recursively then DT will read sidecars to recreate the database with correct file locations.
Other settings, I would copy as described

That is true for library.db, but styles, presets, overlay information, tagging info live in data.db.
However, I think some of those have foreign key references to library. db, and that will break if library.db is not copied. In that case, it’s probably best not to copy data.db, either, but then styles and presets should first be exported on Windows, so they can be copied and imported. The rest (tags, overlays) can be restored by importing the XMP files).

data.db and/or xmp files may also include file names or paths if overlays are used.

Thanks @NielsHansen and @kofa , I think I will perfectly manage. Only the sql command(s) will take me some time to find out.

Today I migrated to Ubuntu, now being a bit occupied with getting used to… All very fine so far!

Kind regards Jetze