Formation PUB210 : SQLite, 2018 Copie de sécurité d'une base de données SQLite

6.1 Générer un script SQL


Si vous ne voulez pas risquer de perdre vos précieuses bases de données, vous devez prendre l'habitude d'en prendre une copie de sécurité régulièrement.

Pour une base de données SQLite, il est possible, bien sûr, de copier le fichier .db à l'endroit de votre choix. Une autre solution offre cependant des avantages importants : la génération d'un script SQL.

Avec un tel script, vous pourrez recréer une base de données en tout ou en partie selon vos besoins.

Il est d'usage de donner l'extension .sql aux scripts SQL.

Pour faciliter la gestion de vos différents scripts, il est suggérer de leur donner un nom correspondant à celui de la base de données puis d'y ajouter la date du jour au format aaaa-mm-jj.

À la ligne de commande SQLite

La commande .dump permet d'afficher à l'écran l'ensemble des requêtes SQL qui permettent de recréer les tables et les données de la base de données qui est présentement ouverte dans SQLite.

Il est possible d'utiliser la commande .output afin de rediriger cet affichage vers un fichier, ce qui créera un script SQL. Ce script sera placé dans le dossier courant.

La commande .output stdout fera en sorte que la sortie des requêtes suivantes se fera à nouveau à l'écran.

Ex :

Ligne de commande SQLite

.output mabd-2018-01-23.sql

.dump

.output stdout

Vous pouvez spécifier un chemin différent pour le fichier généré. Mais attention : il faudra utiliser des barre obliques (/) et non des barres obliques inverses (\).

Notez que tous les dossiers du chemin doivent exister pour que cela fonctionne. Le fichier, quant à lui, sera créé par la commande.

Ex :

Ligne de commande SQLite

.output C:/Users/monnom/Documents/backups/mabd-2018-01-23.sql

.dump

.output stdout

À l'aide de DB Browser for SQLite

La commande Fichier / Exporter / Base de données vers un fichier SQL fera le même travail.

À l'aide d'un fichier batch

Si vous utilisez un fichier batch pour effectuer une copie de sécurité de votre programmation, il serait intéressant d'utiliser ce même fichier batch pour générer un script SQL de votre base de données.

La commande .read, utilisée lors de l'appel de sqlite3, vous permettra d'y arriver. Son rôle est de passer à la ligne de commande SQLite un fichier qui contient lui-même une série de commandes SQLite.

Tout d'abord, créez un fichier texte qui contiendra les commandes SQLite suivantes. Le nom du fichier n'a pas d'importance.

Pour plus de commodité, enregistrez le fichier dans le même dossier que votre base de données.

Ex :

Fichier de commande SQLite

.output mabd-2018-01-23.sql
.dump
.output stdout

Maintenant, créez un fichier batch qui contiendra les instructions suivantes. Il commencera par se placer dans le dossier qui contient votre base de données puis il lancera SQLite en lui fournissant le script des commandes à exécuter.

Ex :

Fichier batch

cd C:\Users\monnom\Documents\votredossier
sqlite3 mabd.db ".read monfichier.txt"

Pour plus d'information

« How To Use The SQLite Dump Command ». SQLite tutorial. http://www.sqlitetutorial.net/sqlite-dump/

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre