|
|
|
## Índice
|
|
|
|
- [Recomendaciones](#recomendaciones)
|
|
|
|
- [Mover colección de una comunidad a otra](#Mover-colección-de-una-comunidad-a-otra)
|
|
|
|
- [Mover una subcomunidad de comunidad a otra](#Mover-una-subcomunidad-de-comunidad-a-otra)
|
|
|
|
- [Transformar una subcomunidad a comunidad principal](#Transformar-una-subcomunidad-a-comunidad-principal)
|
|
|
|
|
|
## Recomendaciones
|
|
## Recomendaciones
|
|
- Hacer un backup de la base de datos antes de realizar cualquier acción
|
|
- Hacer un backup de la base de datos antes de realizar cualquier acción
|
|
- Utilizar el usuario `postgres` del sistema donde esta alojado el repositorio
|
|
- Utilizar el usuario `postgres` del sistema donde esta alojado el repositorio
|
... | @@ -51,5 +57,50 @@ WHERE collection_id = COLECCTION_ID and community_id = COMMUNITY_ORIGIN_ID; |
... | @@ -51,5 +57,50 @@ WHERE collection_id = COLECCTION_ID and community_id = COMMUNITY_ORIGIN_ID; |
|
|
|
|
|
> **[!] Importante [!]**: Al realizar este paso, tanto el handle como el ID de la colección cambiarán
|
|
> **[!] Importante [!]**: Al realizar este paso, tanto el handle como el ID de la colección cambiarán
|
|
|
|
|
|
## Mover una comunidad a otra
|
|
## Mover una subcomunidad de comunidad a otra
|
|
TODO |
|
TODO
|
|
\ No newline at end of file |
|
|
|
|
|
## Transformar una subcomunidad a comunidad principal
|
|
|
|
A veces es necesario convertir una subcomunidad en una comunidad principal dentro de DSpace.
|
|
|
|
|
|
|
|
### Paso 0: iniciar sesión con el usuario postgres
|
|
|
|
|
|
|
|
```sh
|
|
|
|
sudo su postgres
|
|
|
|
psql [database_name]
|
|
|
|
```
|
|
|
|
|
|
|
|
> Cambiar `[database_name]` por el nombre de la base de datos de DSpace alojada en el servidor.
|
|
|
|
|
|
|
|
### Paso 1: buscar los IDs
|
|
|
|
Para buscar el id dela subcomunidad a mover debemos realizar una consulta a la tabla **handle** de la base de datos de DSpace que estemos utilizando.
|
|
|
|
|
|
|
|
```sql
|
|
|
|
--Esta consulta obtiene el id del recurso (ítem, comunidad o coleccion) a través de un handle
|
|
|
|
select * from handle where handle = $HANDLE;
|
|
|
|
```
|
|
|
|
|
|
|
|
> Cambiar la variable `$HANDLE` por el handle de la colección o comunidad a buscar. El handle se escribe entre comillas simples.
|
|
|
|
|
|
|
|
### Paso 2: Comprobar conexiones entre comunidades
|
|
|
|
|
|
|
|
Para comprobar la información se revisará la tabla **community2collection**. Esta tabla contiene las relaciones entre las comunidades. Es decir, es posible obtener si una comunidad es padre o hija de otra comunidad. Las comunidades principales no tienen padres, es decir son huerfanas, y aparecen nunca como `child_comm_id` dentro de esta tabla.
|
|
|
|
|
|
|
|
```sql
|
|
|
|
SELECT *
|
|
|
|
FROM community2community
|
|
|
|
WHERE child_comm_id = COMMUNITY_ID;
|
|
|
|
```
|
|
|
|
|
|
|
|
> Una comunidad sólo puede tener un padre. Si no tiene padre no debería aparecer en la lista. Reemplazamos el COMMUNITY_ID por el ID de la subcomunidad a convertir.
|
|
|
|
|
|
|
|
### Paso 3: Eliminar la relación de parentezco
|
|
|
|
|
|
|
|
Sí la comunidad a transformar tiene un padre, deberemos eliminar dicha relación
|
|
|
|
|
|
|
|
```sql
|
|
|
|
DELETE FROM community2community
|
|
|
|
WHERE child_comm_id = COMMUNITY_ID;
|
|
|
|
```
|
|
|
|
|
|
|
|
Al mover o transformar una comunidad a principal debemos saber que todas las subcomunidades y colecciones dentro tambien se moverán. Esto significa que no tendremos que moverlas una por una. |
|
|
|
\ No newline at end of file |