Miranda NG Official Community Forum
Miranda NG русскоязычный форум => Общие разговоры о Miranda NG => Topic started by: -SM- on 26 12 2023, 11:01:45
-
У меня по непонятным причинам удалился контакт из БД. На сервере он не ищется, ибо забыл и е-мейл, и уин, да и история была там с досерверных времен, да и есть ли он на сервере сейчас вообще - большой вопрос. Но именно она, история, и понадобилась. Этот контакт есть в резервных копиях БД нескольколетней давности. Вопрос - как его оттуда скопировать в текущую базу вместе с историей, не затрагивая ничего больше?
-
Взять резервную копию, подложить в Миранду и запуститься с этой копией, не выходя в сеть. Удалить оттуда все прочие контакты и учётки, кроме этой учётки и этого контакта. Затем импортом всосать в актуальную базу "контакты и историю". Раз там остался один контакт, только он и всосётся.
Ну или запуститься с резервной копии, экспортировать историю контакта через NewStory / Msg_Export, запомнить уин. Затем добавить этот контакт по уину в актуальную базу и импортом всосать JSON с историей в него.
-
Затем импортом всосать в актуальную базу "контакты и историю".
Этот путь вроде +- нормальный. Только импорт, он где? В DBE++ предлагают вроде только импорт из какого-то ini-файла, а где еще импорт есть?
Вообще, надо бы добавить копирование/перемещение контакта с историей и объединение историй, если контакт уже был, из внешней БД в текущую и наоборот, из текущей в другую внешнюю.
-
Речь шла про плагин Import. Главное меню, либо ПКМ по контакту.
Вообще, надо бы добавить
Впервые вижу такую необходимость за добрый десяток лет, в общем-то, вопрос решается экспортом/импортом контакта через редактор базы, а затем экспортом/импортом истории этого контакта.
-
Впервые вижу такую необходимость за добрый десяток лет,
Теперь, думаю, чаще видеть будете, когда ввели автоубивание всего подряд при удалении чего нибудь с серверной стороны без ведома пользователя.Тем не менее, спасибо, попробую, я не знал про такой плагин.
Заранее еще вопрос - что будет делать импорт, если контакт уже есть в БД? А цель - доимпортировать пропавшее? Нормально сработает?
-
Смержит оба контакта. Чтобы не задваивались события, в импорте есть опция отсеивания дубликатов.
Кроме того, отсеивать дубликаты умеет и проверка базы на ошибки.
-
отсеивать дубликаты
Ну вопрос скорее был связан не с этим, а с наоборот - не грохнул бы он историю "боевой" БД для того контакта, для которого делается доимпорт из бекапа. А дубликаты не проблема.
-
отсеивать дубликаты умеет и проверка базы на ошибки.
.... Как-то оно не совсем отсеивает. А алгоритм отсеивания какой?
Вот это - точно два дубликата, один приходил как был в онлайне, другой когда-то прилетел по Load Server History. timestamp - разный. Содержание - одно.
"history" : [{
"type" : 0,
"timestamp" : 1535917665,
"isotime" : "2018-09-02T19:47:45Z",
"flags" : "r",
"body" : "схему модема прикинем?"
},{
"type" : 0,
"timestamp" : 1535917667,
"isotime" : "2018-09-02T19:47:47Z",
"flags" : "r",
"body" : "схему модема прикинем?"
}