Actualizar solo un campo desde una copía de seguridad

Any trouble you encounter with the Pedias, here's the place to ask for help.
Post Reply
judocama
Addicted to Bruji
Addicted to Bruji
Posts: 265
Joined: Sun May 24, 2009 6:16 am

Actualizar solo un campo desde una copía de seguridad

Post by judocama »

Buenos días,

Tenía creado un campo personalizado llamado "Edición" y por error he borrado todo el contenido.
Tengo una copía de seguridad pero solo me gustaría actualizar ese campo ya que en los demas he hecho cambios.
Es posible solo actualizar ese campo sin modificar los otros?

Gracias de antemano.
User avatar
Conor
Top Dog
Posts: 5346
Joined: Sat Jul 03, 2004 12:58 pm
Contact:

Re: Actualizar solo un campo desde una copía de seguridad

Post by Conor »

Lo siento por la perdida, pero si puede resolver. Son varios pasos ya que lo tendremos que hacer fuera de DVDpedia para mezclar la data. Aquí estan los pasos.

1. Hacer una copia de seguridad de Database.dvdpd ya que la vamos intentar modificar en el program Terminal.

2. Abrir el program /Applications/Utilities/Terminal

3. escribir "sqlite3 " (incluyendo el espacio) y después arrastrar la copia de seguridad viaja con la data a la ventana para que diga lo siguiente y apretar inicio.

Code: Select all

sqlite3 /..../Database.dvdpd
4. Para que escriba a un archivo y lo haga en un formato fácil de cambiar ponemos lo siguiente y apretamos inicio.

Code: Select all

.output edicion.sql
.mode insert
5. Para exportar la data. Cambiar el nombre de zcustom1 en el comando por el nombre original (zcustom2, zcustom3) del campo personalizado (al dejar el mouse en cima del nombre en DVDpedia -> Preferencias -> Campos te dira el numero de custom field).

Code: Select all

select zcustom1, zuid from zentry;
6. Cerar el archivo.

Code: Select all

.exit
Ahora tendrás un archivo en tu carpeta de usuario llamado "edicion.sql" con toda la data. Hay que abrir esto en cualquier editor de texto. Tendra algo parecido a esto:

INSERT INTO table VALUES('Edicion primera',1);
INSERT INTO table VALUES('Edicion',2);
INSERT INTO table VALUES('5',3);
INSERT INTO table VALUES(NULL,6);
INSERT INTO table VALUES(NULL,5);
INSERT INTO table VALUES('Mas ediciones',4);

Hacemos los siguientes cambios con find and replace (cambiar zcustom1 por el numero indicado):
"INSERT INTO table VALUES(" remplazar por "UPDATE zEntry SET zcustom1 = "
")" replace for ""
"," replace for " where zuid = "

Terminaras con este formato:

UPDATE zEntry SET zcustom1 = 'edicion 1' where zuid = 1;
UPDATE zEntry SET zcustom1 = 'Edicion' where zuid = 2;
UPDATE zEntry SET zcustom1 = '5' where zuid = 3;
UPDATE zEntry SET zcustom1 = NULL where zuid = 6;
UPDATE zEntry SET zcustom1 = NULL where zuid = 5;
UPDATE zEntry SET zcustom1 = 'Mas ediciones' where zuid = 4;

Ahora para añadirlo hacemos igual que en el primer paso pero con el archivo actual:
1. Abrir base de datos.

Code: Select all

sqlite3 ~Library/Application\ Support/DVDpedia/Database.dvdpd
2. Copiar todas las lineas del archivo y copiarlas al terminal para añadir la data.

3. Cerrar el archivo.

Code: Select all

.exit
4. Correr DVDpedia y debería tener toda la data en el campo de Edición.

El unico problema que puedo ver es si alguno de tus campo de Edición tiene un coma. Si este es el caso tienes que buscar esos y cambiarlos a mano ya que el find y replace se va confundir. Pero serán fácil de detectar ya que el commando sera mas largo, con el replace hecho double.

Espero que lo de arriba sea de ayuda y que este claro. Si tienes preguntas avisa, y si no mandare los dos archivos que te hago el merge aquí y te lo mando de vuelta.
judocama
Addicted to Bruji
Addicted to Bruji
Posts: 265
Joined: Sun May 24, 2009 6:16 am

Re: Actualizar solo un campo desde una copía de seguridad

Post by judocama »

Por favor dime el correo donde te mando los archivos.
Prefiero que me lo hagas tu para no equivocarme.

Un saludo.
User avatar
Conor
Top Dog
Posts: 5346
Joined: Sat Jul 03, 2004 12:58 pm
Contact:

Re: Actualizar solo un campo desde una copía de seguridad

Post by Conor »

El correo esta en la pagina de supporte. Le das click y te abre una ventana ya lista para mandar correo.
judocama
Addicted to Bruji
Addicted to Bruji
Posts: 265
Joined: Sun May 24, 2009 6:16 am

Re: Actualizar solo un campo desde una copía de seguridad

Post by judocama »

Hola Conor,

Los archivos de copia de seguridad que tengo ocupan + de 2GB cada uno por lo que no
se si eso se puede hacer de menor tamaño o hacer algo al respecto para que ocupe tanto.

Un saludo.
User avatar
Conor
Top Dog
Posts: 5346
Joined: Sat Jul 03, 2004 12:58 pm
Contact:

Re: Actualizar solo un campo desde una copía de seguridad

Post by Conor »

Los archivos des seguridad son grandes debido a las imágenes. Pero solo necesito la data de edición. Si haces un unzip de los archivos de seguridad y le das control-click y escoges "ver paquete" para abrir el archivo solo necesito el archivo "Database.dvdpd" que esta dentro de esta carpeta.
judocama
Addicted to Bruji
Addicted to Bruji
Posts: 265
Joined: Sun May 24, 2009 6:16 am

Re: Actualizar solo un campo desde una copía de seguridad

Post by judocama »

Hi Conor,

Not only is a fantastic program, but also has a fantastic post sales service.
Thank you so much and of course I keep recommending your program to everyone that I can.

A greeting.
Post Reply