La línea de comandos de SQLite proporciona varios métodos para exportar o hacer una copia de seguridad de una base de datos completa. Uno de ellos involucra el .dump
comando punto.
El .dump
El comando le permite convertir una base de datos completa en un único archivo de texto ASCII. En otras palabras, representa toda la base de datos como SQL. El archivo de texto contiene todas las instrucciones SQL necesarias para crear las tablas, insertar datos, etc.
También puede usar .dump
para crear un archivo comprimido. Describo ambos métodos a continuación.
Exportar como SQL
Puedes usar .dump
junto con .output
o .once
para exportar toda la base de datos a un archivo .sql.
Este archivo contendrá todas las instrucciones SQL necesarias para reconstruir la base de datos (incluida la creación de todas las tablas, la inserción de todos los datos, etc.).
He aquí un ejemplo:
.once Store.sql
.dump
En este caso usé el .once
dominio. Esto simplemente dirige los resultados del siguiente comando o declaración SQL al archivo especificado.
En este caso, el siguiente comando es .dump
comando dot, que de forma predeterminada representa todo el contenido de la base de datos como SQL.
Alternativamente, podría usar .output
, pero esto dirigirá los resultados de todos futuros comandos/sentencias SQL en el archivo. Esto podría tener consecuencias no deseadas si no tienes cuidado.
Restaurar la base de datos
Una vez que haya creado el archivo de copia de seguridad .sql, puede reconstruir toda la base de datos simplemente leyendo ese archivo desde SQLite.
Por ejemplo, puede conectarse a SQLite mientras especifica un nuevo archivo de base de datos (uno que aún no existe):
sqlite3 Store2.db
Al especificar un archivo de base de datos que no existe, SQLite creará una base de datos en blanco.
Ahora que está en SQLite, puede leer el contenido del archivo de copia de seguridad:
.read Store.sql
Eso es todo al respecto. La base de datos se ha reconstruido a partir del archivo .sql. Se han creado todas las tablas y se han insertado todos los datos.
Crear un archivo comprimido
Si su base de datos es grande y contiene muchos datos, es mejor que cree un archivo de copia de seguridad comprimido.
He aquí un ejemplo:
sqlite3 Store .dump | gzip -c >Store.dump.gz
Tenga en cuenta que esto se ejecuta fuera de SQLite. En otras palabras, no me conecté a SQLite antes de ejecutar este comando. Simplemente abrí una nueva ventana de terminal y ejecuté ese comando.
En realidad, primero navegué a la carpeta de respaldo. Si no hace esto, deberá incluir la ruta en el archivo de copia de seguridad.
Puedes reconstruir la base de datos con zcat . El zcat La utilidad le permite ver el contenido de un archivo comprimido sin tener que descomprimirlo.
Entonces, el archivo creado en el ejemplo anterior podría reconstruirse usando el zcat utilidad.
zcat Store.dump.gz | sqlite3 Store2
Esto puede o no funcionar dependiendo de su sistema. Si esto no funciona, es posible que deba usar una utilidad de compresión diferente.