El uso de SQLite-manager (en su forma XUL) en un Mac.¿Cómo puedo dif 2 archivos SQLite?
¿Cómo puedo diff un archivo de SQLite desde una presentada por otra persona en el equipo, e incorporar sus cambios?
Gracias.
El uso de SQLite-manager (en su forma XUL) en un Mac.¿Cómo puedo dif 2 archivos SQLite?
¿Cómo puedo diff un archivo de SQLite desde una presentada por otra persona en el equipo, e incorporar sus cambios?
Gracias.
creo que se podría utilizar el siguiente, en combinación:
$ diff sqlite-file-1.sql sqlite-file-2.sql > sqlite-patch.diff
$ patch -p0 sqlite-file-1.sql sqlite-patch.diff
espero que funcione para usted. De lo contrario, le recomiendo consultar las páginas de manual:
$ man diff
$ man patch
EDIT: Muy bien, aquí está el conjunto de recorrido.
En primer lugar, volcar las bases de datos:
$ sqlite test1.sql .dump > test1.sql.txt
$ sqlite test2.sql .dump > test2.sql.txt
A continuación, generar un archivo diff:
$ diff -u test1.sql.txt test2.sql.txt > patch-0.1.diff
Y, por último, aplicar el parche:
$ patch -p0 test1.sql.txt patch-0.1.diff
Tal vez el uso de este herramienta: http://download.cnet.com/SQLite-Diff/3000-10254_4-10894771.html? Pero se puede utilizar la solución aportada por @indienick siempre y cuando primero volcar la base de datos SQLite binario con algo como: sqlite x.db .dump> output.sql
Espero que esto ayude, Moszi
¿Cómo exactamente descargo mi SQLite? No tengo una línea de comando sqlite instalada. –
Si usa una caja Mac estándar, entonces debe tener sqlite en/usr/bin/sqlite3;) – Moszi
La última vez que revisé, no tuvo que preocuparse por tirar archivos SQLite, ya que SQLite trabaja directamente con un archivo .sql - No está todo escondido en archivos planos binarios, como PostgreSQL o MySQL. – nesv
Podemos utilizar sqldiff el Programa de Utilidad:
https://www.sqlite.org/sqldiff.html
se comparará la fuente a las bases de datos de destino y generar comandos SQL para hacer fuente equivalente a destino.
- Cualquier diferencia en el contenido de filas emparejadas se emiten como actualizaciones.
- Filas en origen la base de datos que no se pudo emparejar se genera como DELETE.
- Filas en el destino base de datos que no se pudieron emparejar son salida como INSERTOS.
tenemos que descargar el código fuente y compilarlo, desde la carpeta de herramientas.
No es necesario compilar, está disponible como un binario precompilado en la [página de descarga] (https://www.sqlite.org/download.html) – user
No tiene que perder el tiempo con la carpeta 'herramienta'. Simplemente './configure && make sqldiff'. –
No funciona, como SQLite es un archivo binario, el único resultado que obtiene es "los archivos binarios son diferentes" –
¿No se romperá esto si modifica el esquema que ya tiene datos? Por ejemplo, si agrega un campo y desea aplicar un parche al campo adicional a una base de datos existente. –
+1 @indienick ¡Consejo útil! – Medorator