Le shell de ligne de commande SQLite fournit le .backup
dot qui vous permet de sauvegarder rapidement et facilement une base de données.
Pour utiliser cette commande, indiquez le nom de la base de données que vous souhaitez sauvegarder et un nom de fichier pour le fichier de sauvegarde.
Exemple
Voici un exemple de sauvegarde d'une base de données.
.backup Store Store_backup.db
Cela sauvegarde la base de données appelée Store dans un fichier de sauvegarde appelé Store_backup.db dans le répertoire courant.
Pour sauvegarder dans un autre répertoire, utilisez le chemin. Par exemple :
.backup Store /Users/sqlite/bak/Store_backup.db
Sauvegarder la base de données principale
Le premier argument est facultatif. Par exemple, vous pouvez vous connecter à SQLite comme ceci :
sqlite3 Chinook.db
Ce qui ouvre le Chinook.db base de données. Cette base de données apparaîtra comme principale base de données.
Ensuite, lancez ceci :
.backup Chinook_backup.db
Cela sauvegardera la base de données dans le fichier spécifié.
Sauvegarder la base de données actuellement attachée
Voici un autre exemple similaire au précédent, mais avec un cas d'utilisation légèrement différent.
Dans cet exemple, je me connecte à SQLite sans spécifier de base de données. Ensuite, j'attache une base de données, puis lance le .backup
commande.
Je vais combiner toutes les commandes par souci de brièveté :
sqlite3
ATTACH DATABASE 'Store.db' AS Store;
.backup Backup.db
Cela sauvegarde le Store base de données.
Restaurer/Utiliser la sauvegarde
Vous pouvez utiliser le .restore
commande pour restaurer la base de données. Cela accepte le nom de la base de données à restaurer, suivi de l'emplacement du fichier de sauvegarde.
Exemple :
ATTACH DATABASE 'Chinook2.db' AS Chinook2;
.restore Chinook2 Chinook_backup.db
Dans ce cas, j'ai créé une base de données vide appelée Chinook2 avec lequel restaurer la sauvegarde.
Une autre façon de le faire est de simplement joindre la sauvegarde, comme vous le feriez avec n'importe quel autre fichier de base de données :
ATTACH DATABASE 'Chinook_backup.db' AS Chinook;
Si vous utilisez cette méthode, vous voudrez probablement faire une copie de vos sauvegardes et ne joindre que la copie. Sinon, vous écraserez votre sauvegarde et il ne sera pas possible de la restaurer à une version antérieure.