Давид Мзареулян ([info]david_m) wrote,
@ 2009-11-09 19:23:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
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.

Всё должно заработать. Если что-то не работает, то следует вернуться к сохранённой ранее исходной версии каталога.




(22 comments) - (Post a new comment)


[info]_arty
2009-11-09 04:40 pm UTC (link)
офтоп: вам всё ещё важна настройка, убирающая из rss-потока содержимое записи? кажется, это включалось много лет назад из-за крадущих контент ботов, но сейчас это, наверное, неактуально

(Reply to this) (Thread)


[info]david_m
2009-11-09 05:01 pm UTC (link)
А что, боты внезапно стали все хорошими?

(Reply to this) (Parent)(Thread)


[info]_arty
2009-11-09 05:08 pm UTC (link)
я полагаю, что они уже скончались

(Reply to this) (Parent)(Thread)


[info]david_m
2009-11-09 05:17 pm UTC (link)
А по-моему, живёхоньки: http://www.liveinternet.ru/community/lj_david_m/

(Reply to this) (Parent)(Thread)


[info]_arty
2009-11-09 05:24 pm UTC (link)
понятно
жаль — не очень удобно в агрегаторе читать : (

(Reply to this) (Parent)(Thread)


[info]david_m
2009-11-12 05:10 pm UTC (link)
А, впрочем, ладно:)

(Reply to this) (Parent)(Thread)


[info]_arty
2009-11-12 05:26 pm UTC (link)
ура, спасибо! : )

(Reply to this) (Parent)


[info]nms
2009-11-09 06:54 pm UTC (link)
Какого размера dump получается? В пропорции от .lrcat?

(Reply to this) (Thread)


[info]david_m
2009-11-09 10:20 pm UTC (link)
ДА почти такой же. У меня дамп 5.7 Мб, база — 6.7.

(Reply to this) (Parent)


[info]_sirano_
2009-11-09 09:29 pm UTC (link)
А что, уже LR3 есть?

(Reply to this) (Thread)


[info]david_m
2009-11-09 10:19 pm UTC (link)
Бета.

(Reply to this) (Parent)(Thread)


[info]_sirano_
2009-11-09 11:13 pm UTC (link)
А что там нового появилось?

(Reply to this) (Parent)(Thread)


[info]splurov
2009-11-10 05:47 am UTC (link)
Lightroom 3 Beta Overview

(Reply to this) (Parent)


[info]ven_digo
2009-11-09 09:41 pm UTC (link)
"Замечу, что в случае перемещения одиночных папок, проще непосредственно в LR указать новое расположение конкретной папки. Однако, если папок перемещено много, то имеет смысл модифицировать саму базу LR. Делается это следующим образом."

А что мешает импортировать родительскую папку, переместить файлы и указать ее новое местоположение?
Родительская папка добавляется элементарно через контекстное меню командой Add Parent Folder.

(Reply to this) (Thread)


[info]david_m
2009-11-09 10:22 pm UTC (link)
Во. Век живи — век учись. Не знал:)

Правда, у меня ситуация, когда я УЖЕ наплодил кучу папок, сменил их положение, а ПОТОМ решил обновить базу.

(Reply to this) (Parent)(Thread)


[info]ven_digo
2009-11-09 10:53 pm UTC (link)
И все же привлечение сторонних программ для редактирования базы данных SQLite меня пугает. В таком случае я бы просто перенес файлы обратно, затем уже по выше описанной схеме.

(Reply to this) (Parent)(Thread)


[info]danfe
2009-11-09 11:32 pm UTC (link)
Все же, "сторонняя программа" от разработчиков этой самой SQLite – не такая уж сторонняя.

(Reply to this) (Parent)(Thread)


[info]ven_digo
2009-11-10 12:03 am UTC (link)
Я отвечал с точки зрения пользователя Lightroom. Ведь рассуждая по вашему, проблемы с Виндой логично решать на С++ ведь на этом языке она и создавалась!

(Reply to this) (Parent)(Thread)


[info]_pg_
2009-11-12 09:24 pm UTC (link)
Лайтрум тоже создавался на этом языке, так что аналогия не верна.

(Reply to this) (Parent)


[info]david_m
2009-11-09 10:44 pm UTC (link)
Евгений, как у Вас с доверенностью, кстати? Нам её ждать?

(Reply to this) (Parent)(Thread)


[info]ven_digo
2009-11-09 10:55 pm UTC (link)
К своему стыду, доверенность еще не сделал. Не думал, что она еще актуальна. Отвечу в течении ближайших дней письмом.

(Reply to this) (Parent)(Thread)


[info]david_m
2009-11-09 10:58 pm UTC (link)
Тогда не торопитесь, у нас всего двое её сделали, с таким количеством затевать что-либо бессмысленно. Я напишу завтра общее письмо.

(Reply to this) (Parent)


(22 comments) - (Post a new comment)

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…