Después de mirar los dos plugins que hay, empecé con uno que es el oddbdo, que al final no me llevó a nada: conseguía exportar en formato xml pero el importar era un cautiverio.
Así que ya cansado y viendo que mi compañero Diego, (http://community.elgg.org/mod/profile/icondirect.php?lastcache=1223404035&username=dramirez&size=small) al cual le mando un saludo desde acá, hiciera otro plugin. Me sentí desanimado y me tiré al agua de cabeza para hacerlo por mi mismo.
Estuve documentando parte de la migración y la verdad que no me está pareciendo tan dificil de lo que pensaba....por si alguien le viniera bien os lo paso y por favor acepto mejoras y lo que querais. Aun no he migrado todo pero poco a poco voy haciendolo.
Lo tenía en un wiki de redmine....y la red social que estoy migrando es redes.epesca.org (la primera que hice ahora ya hará unos 3 añitos...empezó desde la version 0.4!).
Espero que os valga....Saludos C.
insert into redes1_5.elggusers_entity (guid,username, name, email, password, code, salt, language)
select ident, username, name, email, password, code, null, 'es' from redes.elggusers where (user_type='person');
Para habilitar al usuario. El 1 está reservado para el site, así que debe empezar desde el 2.
De momento paso la propiedad gid de la tabla a no autonumérica. le asigno al admin un valor 500 por ejemplo para que los otros den su incorporación.
insert into redes1_5.elggentities (guid,type, subtype, owner_guid, site_guid, container_guid, access_id, time_created, time_updated, enabled)
select guid, 2, 0, 0, 1, 0, 2, 1242664181, 1242664181 , 1 from elggusers_entity where (guid<>1)
insert into redes1_5.elggmetadata (entity_guid, name_id, value_id, value_type, owner_guid, access_id, time_created, enabled
select guid, 10, 11, 2, 0, 2, 1242680208, 1 from elggusers_entity;
En la tabla 0.9 tenemos las comunidades embebidas en la tabla elggusers con el valor del campo user_type='community';
En la tabla 1.5 tenemos las comunidades en la tabla elgggroups_entities están separadas: guid, name, description
Correspondencia
elgg 0.9 elgg 1.5 ident guid name name description name
insert into redes1_5.elgggroups_entity (guid, name, description)
select ident, name, name from redes.elggusers where (user_type='community');
Con esto ya tendriamos las comunidades creadas.....ufff!
Al igual que con los usuarios hay que repetir el proceso con esta tabla que alberga la información también de las comunidades.
tabla: .elggentities guid type subtype owner_guid site_guid container_guid access_id time_created time_updated enabled tabla: .elgggroups_entities guid 3 0 12 1 12 2 1242685527 1242685527 1
insert into redes1_5.elggentities (guid, type, subtype, owner_guid, site_guid, container_guid, access_id, time_created, time_updated, enabled)
select guid, 3, 0, 12,1, 12, 2, 1242685527, 1242685527, 1 from elgggroups_entity;
tabla 0.9: elggfriends ident owner friend status tabla 1.5: elggentity_relantionships guid_one relationships guid_two
Acá es donde está algo mas jodido porque hay que hacer dos selects
insert into redes1_5.elggentity_relationships (guid_one, relationship, guid_two)
select f.owner, 'friend', f.friend from redes.elggfriends f where f.owner not in (select ident from redes.elggusers where user_type='community') or f.owner not in (select ident from redes.elggusers where user_type='community')
insert into redes1_5.elggentity_relationships (guid_one, relationship, guid_two)
select f.owner, 'member', f.friend from redes.elggfriends f where f.owner not in (select ident from redes.elggusers where user_type='person') or f.owner not in (select ident from redes.elggusers where user_type='person')
Esta consulta la hice mal!, realmente no haria una migración de miembros la mejoro
insert into redes1_5.elggentity_relationships (guid_one, relationship, guid_two)
select f.owner, 'member', f.friend from redes.elggfriends f where f.friend not in (select ident from redes.elggusers where user_type='person')
Esto se podrá ir haciendo poco a poco....pero hay que hacer las carpetas y después los ficheros....así que paso!....lo enlacen a la versión 'antigua'.
elggentitied tiene el valor de type= 'object' = 1.
insert into redes1_5.elggentity (guid, type, subtype, owner_guid, site_guid, container_guid, access_id, time_created, time_updated, enabled)
select ident, 1, owner, 12, 1, 12, 1, 1242687969, 1242687969, 1
info@elgg.org
Security issues should be reported to security@elgg.org!
©2014 the Elgg Foundation
Elgg is a registered trademark of Thematic Networks.
Cover image by Raül Utrera is used under Creative Commons license.
Icons by Flaticon and FontAwesome.