Найти в Дзене
Бобро с Ослом

Чиним каталог в Adobe Lightroom за пару кликов

Пользователи программы Adobe Lightroom часто сталкиваются с неприятной ситуацией, когда в каталоге файлы не открываются, отображается сообщение File is missing, а на иконке с превью появляется неприятный восклицательный знак. Очевидно, что причина в том, что пути к файлам и папка, которые записаны в каталоге Lightroom неактуальны и программа не может найти искомый файл. Происходит такая ситуация вследствие переноса исходников с одного носителя на другой, или с одной ОС на другую. Классический пример: каталог создавался на Windows, файлы импортировались на внешний диск F:\MyPhotos\Summer22 Далее пользователь переезжает на другой компьютер, и буква F:\ там уже зарезервирована и приходится использовать E:\. Это, однако, пол-беды, так как Windows Disk Manager позволяется переназначить буквы и всё станет как прежде, но при миграции на MacOS такой приём не подходит. При подключении диска, пользователь, скорей всего, увидит что-то вроде /Volumes/Drive/MyPhotos/Summer22 о котором Lightroom не

Пользователи программы Adobe Lightroom часто сталкиваются с неприятной ситуацией, когда в каталоге файлы не открываются, отображается сообщение File is missing, а на иконке с превью появляется неприятный восклицательный знак. Очевидно, что причина в том, что пути к файлам и папка, которые записаны в каталоге Lightroom неактуальны и программа не может найти искомый файл.

Пути к файлам устарели
Пути к файлам устарели

Происходит такая ситуация вследствие переноса исходников с одного носителя на другой, или с одной ОС на другую.

Классический пример: каталог создавался на Windows, файлы импортировались на внешний диск F:\MyPhotos\Summer22

Далее пользователь переезжает на другой компьютер, и буква F:\ там уже зарезервирована и приходится использовать E:\. Это, однако, пол-беды, так как Windows Disk Manager позволяется переназначить буквы и всё станет как прежде, но при миграции на MacOS такой приём не подходит.

При подключении диска, пользователь, скорей всего, увидит что-то вроде /Volumes/Drive/MyPhotos/Summer22 о котором Lightroom не имеет ни малейшего понятия, так как привык обращаться к файлам через F:\MyPhotos\Summer22.

Подавляющая часть советов заключается в ручном поиске и указании нового пути до файла, и, казалось бы, Lightroom облегчает эту задачу с помощью опции Find nearby missing photos. На деле же опция не работает, а процесс актуализации путей для каталога из десятков тысяч снимков займёт вечность.

Поиск смежных файлов обычно не работает
Поиск смежных файлов обычно не работает

К счастью, существует простейший трюк, который решит вопрос одним махом. И в этом поможет элементарный SQL запрос.

Каталог Lightroom представляет из себя не что иное, как реляционную БД, где хранятся метаданные по всем объектам: папки, коллекции, теги, настройки и прочее. Таким образом, подключившись к БД, мы можем одним запросом актуализировать пути. Для подключения можно использовать любой удобный клиент, например DB Browser for SQLite.

  1. Обязательно делаем бекап каталога
  2. Итак, открываем клиент и выбираем каталог .lrcat
  3. Нам нужна таблица AgLibraryRootFolder, где как раз и хранятся пути к папкам в колонке absolutePath
  4. На вкладке Execute SQL выполняем запрос с нужными аргументами REPLACE:

UPDATE AgLibraryRootFolder SET absolutePath = REPLACE(absolutePath, '%CURRENT_ROOT_FOLDER%', '%NEW_ROOT_FOLDER%')

5. Если в консоли видим

Execution finished without errors.

Result: query executed successfully. Took 1ms, 88 rows affected

то нужно сохранить изменения и закрыть БД.

Теперь Lightroom будет обращаться к файлам и папкам по актуальному пути и восклицательные знаки исчезнут.

Буду рад, если этот совет кому-нибудь пригодится и спасёт массу времени и нервов!