data.db et library.db

Bonjour

Pour des raisons de facilité de sauvegarde, je voudrais placer les BDD de darktable dans un répertoire perso plutôt qu’à son emplacement par défaut $HOME/.config/darktable

J’ai donc déplacé manuellement les fichiers data.db et library.db vers « /Mon Repertoire Perso » et je lance darktable avec la commande :
/opt/darktable/bin/darktable --library « /Mon Repertoire Perso/library.db »
et là, surprise, je constate que darktable utilise bien library.db au nouvel emplacement (library.db.lock en témoigne) mais par contre data.db est récréé vierge dans $HOME/.config/darktable ainsi que data.db.lock, et je ne récupère bien sûr pas les données qui s’y trouvent :frowning:

Je ne pense pas m’être trompé dans la syntaxe, j’ai consulté le manuel dt ainsi que le doc sur les fichiers de configuration.
Une idée de ce qui peut déconner dans ma config ?

dt 3.0.2 sous Linux Mint 19.3 Cinnamon

Pourquoi ne pas utiliser l’option --configdir dans ce cas pour déplacer tout le rep de config ? Car pour les sauvegarde tu as aussi les styles et les profils qui sont placé dans ce répertoire.

+1!

Sinon, pour les data, c’est --datadir

Un extrait du man darktable :

[code]darktable [options] [IMG_1234.{RAW,…}|image_folder/]

   Options:

       --cachedir <user cache directory>
       --conf <key>=<value>
       --configdir <user config directory>
       -d {all,cache,camctl,camsupport,control,dev,fswatch, input,lighttable,
           lua,masks,memory,nan,opencl, perf,pwstorage,print,sql}
       --datadir <data directory>
       --disable-opencl
       -h, --help
       --library <library file>
       --localedir <locale directory>
       --luacmd <lua command>
       --moduledir <module directory>
       --noiseprofiles <noiseprofiles json file>
       -t <num openmp threads>
       --tmpdir <tmp directory>
       --version[/code]

==> Oui effectivement c’est sans doute une très bonne idée. Je testerai dès que possible :slight_smile:

==> Apparemment pour --datadir il ne s’agit pas des datas au sens de « données relatives aux photos ». Le manuel darktable 3.0 précise bien :

Et par ailleurs dans le doc de jpverrue recensant les fichiers de configuration de darktable il est dit :

Oui exact, au temps pour moi ! (d’autant que j’ai déjà joué avec ces options… pff… :rolleyes: ). Désolé.

un lien dynamique dans le répertoire de base vers le nouveau répertoire ne suffirait-il pas ?

Oui peut-être bien mais l’idée était de tester les options de lancement de darktable, et en postant ici, de comprendre s’il s’agissait d’un bug ou d’une mauvaise manip de ma part

J’ai testé avec l’option --configdir, effectivement ça déplace bien tout le répertoire de config, y compris les deux fichiers .db :slight_smile:
C’est effectivement un meilleur choix pour sauvegarder toute ma config et ma database d’un seul coup, merci Pascal !

Il n’en reste pas moins vrai que l’option --library ne semble pas fonctionner comme elle devrait :s

Et en quoi ? Cette option permet de signaler un autre chemin pour la librairie et rien d’autre.

Dans le manuel, il est dit que --library concerne library.db et data.db. Or seul le premier est réellement affecté par cette option (chez moi en tout cas)

C’est donc plus probablement le manuel qui n’est pas à jour…

C’est tout de même étrange, du coup, que l’option --library ne concerne que la « moitié » de la database (la partie library et pas la partie data), même si littéralement on peut comprendre que --library ne concerne que library.db :huh:
car si j’ai bien regardé, aucune autre option de lancement ne s’appliquerait uniquement à data.db

La structuration de la BdD en deux bases de données distinctes, data.db et library.db, date de la version 2.2 (fin 2016). Auparavant toutes les tables étaient réunies dans une seule BdD : library.db. Le but de l’opération était de permettre la réinitialisation de library.db sans perdre d’informations qui ne pourraient être retrouvées lors du réimport après init. Donc, essentiellement, les mots-clé et les pré-réglages ont été déportés dans data.db pour cela.
L’option de déport de la BdD --library n’a pas été changée et elle s’applique (normalement) aux deux fichiers.

C’est bien ce que j’avais lu/compris et qui n’a pas fonctionné chez moi