| Давид Мзареулян ( @ 2009-11-09 19:23:00 |
| Entry tags: | lightroom, photo, sqlite |
Как обновить каталог Лайтрума при перемещении папок с картинками
Переставлял недавно систему, в процессе поменял букву у диска с архивом фотографий. Естественно, пришлось это объяснять Лайтруму. Пока объяснял, решил выложить описание процесса, дабы облегчить участь таких же страдальцев. Замечу, что в случае перемещения одиночных папок, проще непосредственно в LR указать новое расположение конкретной папки. Однако, если папок перемещено много, то имеет смысл модифицировать саму базу LR. Делается это следующим образом.
Папка LR по умолчанию находится по адресу “C:\Documents and Settings\USERNAME\My Documents\My Pictures\Lightroom” в WinXP или “C:\Users\USERNAME\Pictures\Lightroom” в Vista/Win7.
В этой папке лежит файл Lightroom 2 Catalog.lrcat и папка Lightroom 2 Catalog Previews.lrdata. В случае с LR3 всё то же самое, только в именах файлов вместо двойки — тройка. В папке Lightroom 2 Catalog Previews.lrdata хранятся сгенерированные LR превью, и её можно не трогать — её содержимое не привязано к расположению файлов изображений. Вообще, эту папку можно спокойно удалять, LR сам создаст её заново. Правда, при большой коллекции генерация превью может занять очень долгое время.
Нас интересует файл Lightroom 2 Catalog.lrcat. Он является базой данных в формате SQLite и в нём содержатся, в том числе, пути ко всем файлам на диске.
Все операции следует производить, закрыв LR и обязательно сохранив куда-нибудь исходную версию файла каталога, чтобы, если что-то пойдёт не так, можно было к ней вернуться.
Со страницы http://www.sqlite.org/download.html нужно скачать архив с Windows-версией SQLite (“A command-line program for accessing and modifying SQLite databases”). В архиве содержится единственный файл sqlite3.exe.
Копируем в отдельную папку sqlite3.exe и Lightroom 2 Catalog.lrcat и выполняем команду:
sqlite3.exe "Lightroom 2 Catalog.lrcat" .dump > dump.txt
Эта команда создаст текстовый дамп базы. Открываем файл dump.txt в любом текстовом редакторе.
Предположим, ваши файлы были в папке “E:\Photos”, а теперь переместились в папку “D:\images”. Делаем в текстовом редакторе следующие замены во всём документе:
E:\\Photos\\ → D:\\images\\
E:\Photos\ → D:\images\
E:/Photos/ → D:/images/
Даже если буква диска не изменилась, лучше указывать полный путь во всех случаях.
Сохраняем измененный файл. Удаляем (!) Lightroom 2 Catalog.lrcat и выполняем команду:
sqlite3.exe "Lightroom 2 Catalog.lrcat" < dump.txt
Эта команда создаст новый файл каталога из изменённых нами данных. Копируем его в стандартное местоположение каталога LR.
Всё должно заработать. Если что-то не работает, то следует вернуться к сохранённой ранее исходной версии каталога.