Цитата |
---|
Oleg Ewsiukov пишет: проблемы начинаются из-за всяческих ID в этих таблицах. а если у вас были еще и пользователи, то их нужно зарегистрировать в битриксе с айдишниками, которые должны совпадать со всякими USER_ID или CREATED_BY в таблицах нового форума |
Особо больших проблем в этом нет. Каждая таблица содержит поле XML_ID, которое можно использовать для хранения старых ID. А если они в дальнейшем не нужны, то можно просто вести массив соответствий старых и новых ID при конвертации.
Цитата |
---|
Peter Drobenko пишет: Вы не подскажите, был у кого опыт написания таких скриптов или может где? |
Способ выборки данных из прежней базы зависит от самой этой базы и ее структуры. Вставлять же данные можно стандартным API форума. Конкретный алгоритм зависит от разных нюансов типа метода хранения прежнего форума и т.п. Например, он может быть таким:
выбираются старые пользователи и сохраняются по одному в базу битрикса (CUser::Add) с запоминанием массива соответствия ID ($arUsers[старый индекс] = новый индекс);
выбираются старые форумы и сохраняются по одному в базу битрикса (CForumNew::Add) с запоминанием массива соответствия ID ($arForums[старый индекс] = новый индекс);
выбираются старые темы и сохраняются по одной в базу битрикса (CForumTopic::Add) с учетом того, что новый код форума равен $arForums[старый индекс], с запоминанием массива соответствия ID ($arTopics[старый индекс] = новый индекс);
то же с сообщениями, только индексы запиминать уже не нужно.