Перенос пользователей с MODX Evo на Revo
        Добрый день!
Переношу сайт с MODX Evo на Revo. Использовал Provisioner. Структура документов и чанки перенеслись нормально, а вот зарегистрированные пользователи не переносятся.
Подскажите пожалуйста, как это сделать? Подозреваю что через SQL-запросы, я в этом полный ноль.
    
    
                                                                                
            Переношу сайт с MODX Evo на Revo. Использовал Provisioner. Структура документов и чанки перенеслись нормально, а вот зарегистрированные пользователи не переносятся.
Подскажите пожалуйста, как это сделать? Подозреваю что через SQL-запросы, я в этом полный ноль.
Комментарии: 6
                Однажды была задача перенести пользователей из самописного сайта на revo, меня выручил ImportUsersX, попробуйте, думаю тоже поможет            
                    
                Большое спасибо, попробую.            
                    
                ImportUsersX не поддерживает версии старше 2.2. Попробовал User Import — не получается.            
                    
                Из таблицы modx_web_users на Evo в таблицу modx_users на Revo худо-бедно перенес с помощью запроса:
INSERT INTO `revo`.`modx_users` (`username`, `password`)
SELECT `username`, `password`
FROM `evo`.`modx_web_users`;
А вот из таблицы modx_web_user_attributes не получается, выходит ошибка:
INSERT INTO `revo`.`modx_user_attributes` (`fullname`, `email`)
SELECT `fullname`, `email`
FROM `evo`.`modx_web_user_attributes`
ERROR
#1062 — Дублирующаяся запись '0' по ключу 'internalKey'
                    INSERT INTO `revo`.`modx_users` (`username`, `password`)
SELECT `username`, `password`
FROM `evo`.`modx_web_users`;
А вот из таблицы modx_web_user_attributes не получается, выходит ошибка:
INSERT INTO `revo`.`modx_user_attributes` (`fullname`, `email`)
SELECT `fullname`, `email`
FROM `evo`.`modx_web_user_attributes`
ERROR
#1062 — Дублирующаяся запись '0' по ключу 'internalKey'
                Вообще, по-хорошему, так делать нельзя. Очень нельзя. Тупо переносить данные посредством SQL — чревато как раз такими ошибками, потери целостности данных и всего такого прочего. 
Нужно было сделать примерно так:
1) Написать SQL выборку пользователей из Evo.
2) Использовать ее в скрипте, в котором при переборе каждой строчки из таблицы через MODX API создавался бы новый пользователь в Revo.
3) Может возникнуть проблема с сохранением паролей, но в таком случае пришлось бы просто выслать новые пароли всем пользователям. Это тоже не большая проблема.
                    Нужно было сделать примерно так:
1) Написать SQL выборку пользователей из Evo.
2) Использовать ее в скрипте, в котором при переборе каждой строчки из таблицы через MODX API создавался бы новый пользователь в Revo.
3) Может возникнуть проблема с сохранением паролей, но в таком случае пришлось бы просто выслать новые пароли всем пользователям. Это тоже не большая проблема.
                Спасибо за ответ. Пока все это слишком сложно для меня, мне еще учиться и учиться.            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.