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.
Actualizar solo un campo desde una copía de seguridad
Re: Actualizar solo un campo desde una copía de seguridad
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.
4. Para que escriba a un archivo y lo haga en un formato fácil de cambiar ponemos lo siguiente y apretamos inicio.
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).
6. Cerar el archivo.
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.
2. Copiar todas las lineas del archivo y copiarlas al terminal para añadir la data.
3. Cerrar el archivo.
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.
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
Code: Select all
.output edicion.sql
.mode insert
Code: Select all
select zcustom1, zuid from zentry;
Code: Select all
.exit
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
3. Cerrar el archivo.
Code: Select all
.exit
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.
Re: Actualizar solo un campo desde una copía de seguridad
Por favor dime el correo donde te mando los archivos.
Prefiero que me lo hagas tu para no equivocarme.
Un saludo.
Prefiero que me lo hagas tu para no equivocarme.
Un saludo.
Re: Actualizar solo un campo desde una copía de seguridad
El correo esta en la pagina de supporte. Le das click y te abre una ventana ya lista para mandar correo.
Re: Actualizar solo un campo desde una copía de seguridad
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.
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.
Re: Actualizar solo un campo desde una copía de seguridad
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.
Re: Actualizar solo un campo desde una copía de seguridad
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.
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.