Мигратор человеков INS1->INS2

Перенос пользователей с сайта первой ветки на вторую.

#1 13 мая 2015 в 18:35
Перенос контента с одной ветки на другую не вызывает больших сложностей при помощи dbforge Studio for Mysql, а вот с переносом пользователей возникли проблемы ввиду отложения солей в паролях.
Для решения этой проблемы, на основе мигратора статей от Pasha был допилен мигратор пользователей.
Предварительно нужно перенести таблицу cms_users в базу двойки. Поскольку такая таблица уже есть, нужно переобозвать её в "cms_users1".
Для этого экспортируйте при помощи phpmyadmin таблицу "cms_users" в формате cms_users.sql из базы первой версии сайта, откройте ноутпадом++ экспортированный файл с таблицей "cms_users" и поменяйте оптом все cms_users на cms_users1
Затем импортируйте тем же phpmyadmin таблицу в новую базу на второй версии.

Потом импортируйте её в новую базу.

После чего, загрузите в корень сайта файл users_migr.php и запустите его так site.ru/users_migr.php
По отработке скрипта таблица cms_users1 будет удалена.

Прошу учитывать, что поле email имеет уникальный индекс, поэтому импортирована будет только первая запись с неуникальным имейлом, а остальные просто пропущены.

Все пользователи помещаются в группу "пользователи". Распределить пользователей по группам и раздать права администратор должен вручную!
Прикрепленный файл
usersmigr_e82rl.zip 2 Кб
#2 13 мая 2015 в 18:44
Еще обратный мигратор сделайте, с 2 на 1 чтобы импортировать, думаю тоже пригодится.
#3 13 мая 2015 в 18:46

Еще обратный мигратор сделайте, с 2 на 1 чтобы импортировать, думаю тоже пригодится.

letsgo

Думаю, это сделает кто-нибудь другой.
Не я точно.
Одно дело "досолить" хэш пароля, и совсем другое дело его расшифровать обратно.
#4 13 мая 2015 в 19:22
Не забывает бекап делать,ОБЯЗАТЕЛЬНО! — Копия сайта и базы, только потом эксперименты проводим
#5 13 мая 2015 в 20:15

Копия сайта и базы, только потом эксперименты проводим

Петрмаг

Вообще все эксперименты проводятся на локальной копии сайта. А при достижении блестящих результатов делается копия локального сайта на какой-нибудь тестовый хостинг. И только потом…
#6 13 мая 2015 в 20:46
Аха,))) вдруг-кто-то захочет так мигрировать, у меня например нет локалки и что? живу без ее лет 3-4
#7 13 мая 2015 в 20:55

живу без ее лет 3-4

Петрмаг

Я жил вообще без всех этих пыхапе и хтмл 40 лет, пока не вышла новая версия 1.10.6 в январе и я не решил посмотреть, что это такое и с чем это едят.
#8 13 мая 2015 в 21:24

Вообще все эксперименты проводятся на локальной копии сайта.

HiAndy

Это лишнее. Для начинающего да, а в целом просто бекап на сервере и хватает.
#9 13 мая 2015 в 21:37

а в целом просто бекап на сервере и хватает.

letsgo

Бэкапы базы у меня делаются автоматически ещеношно. Вот таким методом:
В планировщике задание: /var/www/******/data/dump.sh
Оно запускает файл dump.sh

  1. /usr/bin/mysqldump --opt --user=****** --pass=******** -h localhost -e --add-drop-table ****** | gzip -f9 > /var/www/******/data/Backups/`date "+%d-%m-%Y_%Hh%Mm"`.sql.gz
  2.  
После чего стартует удаление бэкапов старше двух дней:
find /var/www/******/data/Backups/ -name "*sql.gz" -mtime +1 -exec rm -f {} \;

В результате имею три свежие базы (одну действующую, одну вчерашнюю и одну позавчерашнюю) и о бэкапах можно вообще не беспокоиться.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.