XF 1.5 Как восстановить дни рождения?

econaft

Проверенные
Сообщения
881
Реакции
79
Баллы
5,530
Были потеряны все данные о днях рождений пользователей.

Воспользовался ответом:
XF 1.5 - Редактирование поля дня рождения

В итоге всё у всех обнулилось. Просил же дать возможность редактировать это поле пользователями, а он мне дал как всем обнулить.....

Как восстановить из базы данных?
 
Последнее редактирование:
Я нашёл в дампе базы данных такое начало:
Структура таблицы `xf_user_profile`
--
-- Создание: Дек 03 2015 г., 20:35
--

DROP TABLE IF EXISTS `xf_user_profile`;
CREATE TABLE IF NOT EXISTS `xf_user_profile`............


И до такого конца (следующей таблицы:
Структура таблицы `xf_user_status`
--
-- Создание: Дек 03 2015 г., 20:35
--

DROP TABLE IF EXISTS `xf_user_status`;
CREATE TABLE IF NOT EXISTS `xf_user_status`


Внутри данные юзеров, примерно такие:
(2, 24, 9, 1984, '', 0, 0, '', '', 'Кемерово', '', '', '', 'bmuznjytDw9lO1XjqH2H56r-wlgxyn', 0, 0, '', 33a373a22756368656e6965223b733a31343a2, '', 1449204850)

Мои действия?

Нужно всё содержимое таблицы xf_user_profile скопировать, вставить в SQL запрос и сделать запрос?

Это не повляет на пользователей которые после этого вводили данные?
 
А Вы не можете как-то создать тестовый форум и производить все манипуляции на нём, а потом уже переносить на основной? У Вас форум основной вообще работает хотя бы? Вы его полностью изломали по моему уже, там живого мета нет. ))

Нужно выполнить запрос типа такого:
Код:
INSERT INTO `xf_user_profile` (`user_id`, `dob_day`, `dob_month`, `dob_year`, `status`, `status_date`, `status_profile_post_id`, `signature`, `homepage`, `location`, `occupation`, `following`, `ignored`, `csrf_token`, `avatar_crop_x`, `avatar_crop_y`, `about`, `custom_fields`, `external_auth`, `password_date`)

У меня он полностью выглядит так:
Код:
INSERT INTO `xf_user_profile` (`user_id`, `dob_day`, `dob_month`, `dob_year`, `status`, `status_date`, `status_profile_post_id`, `signature`, `homepage`, `location`, `occupation`, `following`, `ignored`, `csrf_token`, `avatar_crop_x`, `avatar_crop_y`, `about`, `custom_fields`, `external_auth`, `password_date`) VALUES
(1, 31, 12, 1975, '', 0, 0, '', '', '', '', '', '', 'MEzVsx-CRiTrjA87mlHn7br6akwjWRtQZ8uHUC4V', 0, 0, '', 0x613a303a7b7d, '', 1447433640),
(2, 0, 0, 0, '', 0, 0, '', '', '', '', '', '', 'CZbRh079X6T1j6YrJEoJtrx1b6m936LiF0SHrlAE', 0, 0, '', 0x613a363a7b733a333a2261696d223b733a303a22223b733a333a22696371223b733a303a22223b733a353a227961686f6f223b733a303a22223b733a353a22736b797065223b733a303a22223b733a383a2266616365626f6f6b223b733a303a22223b733a373a2274776974746572223b733a303a22223b7d, '', 1449426602),
(3, 0, 0, 0, '', 0, 0, '', '', '', '', '', '', 'lg-JytckySdJerS9BpIZC5K245xMi5cxyCLOrEUI', 0, 0, '', 0x613a363a7b733a333a2261696d223b733a303a22223b733a333a22696371223b733a303a22223b733a353a227961686f6f223b733a303a22223b733a353a22736b797065223b733a303a22223b733a383a2266616365626f6f6b223b733a303a22223b733a373a2274776974746572223b733a303a22223b7d, '', 1449569233),
(4, 20, 2, 1986, '', 0, 0, '', '', '', '', '', '', 'nSfeX4_26x9WDwobBCfm1EtEc6sAqY0JS97Ydt54', 0, 0, '', 0x613a303a7b7d, '', 1449569913);
 
Всё работает на ура.
Пока этот чел мне не дал инфу как сбросить все данные о дне рождении, в ответ на впорос как дать им возможность менять.
Форум настроен. Всё ОК.

Проблема только вернуть назад то что было сброшено.

У меня он полностью выглядит так:
У меня тоже.

Значит мне нужно сейчас из дампа эту часть скопировать и отправить в SQL запрос?

При этом, у тех кто регистрировался и вводил дату рождения после этого дампа, дни рождения останутся, как были?
 
Последнее редактирование:
При этом, у тех кто регистрировался и вводил дату рождения после этого дампа, дни рождения останутся, как были?
Да, должно быть так.

Значит мне нужно сейчас из дампа эту часть скопировать и отправить в SQL запрос?
Угу.
 
Да, должно быть так.
Так не случилось!

Создал тестовый форум.
Перенёс туда всю базу.

Сделал указанный вами запрос.

В итоге дни рождения действиетльно восстановились у тех у кого были обнулены. Но при том у новых пользователей удалились и все дни рождения и место жительства тоже.
 
Так не случилось!

Создал тестовый форум.
Перенёс туда всю базу.

Сделал указанный вами запрос.

В итоге дни рождения действиетльно восстановились у тех у кого были обнулены. Но при том у новых пользователей удалились и все дни рождения и место жительства тоже.
Попробуй заменить
INSERT INTO на REPLACE
 
На будущее запомни, что команда INSERT INTO создает новые таблицы. Ты просто сделал дубль того что и так было)) А команда REPLACE перезаписывает то что ты указываешь :-) (если такие таблицы уже есть)
 
Последнее редактирование:
Только не таблицы, а записи в таблице
Создает таблицы, я проверял и смотрел что происходит по факту. Я также влупил INSERT и он создал дубли тех строчек что я хотел переписать

Вот, почитай на досуге))

Оператор INSERT вставляет новые строки в существующую таблицу. (а нужно было перезаписать)
 
Последнее редактирование:
Создает таблицы, я проверял и смотрел что происходит по факту. Я также влупил INSERT и он создал дубли тех строчек что я хотел переписать
Оператор INSERT вставляет новые строки в существующую таблицу. (а нужно было перезаписать)
А что тогда делает оператор CREATE TABLE? )
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу