Обвивката на командния ред на SQLite предоставя .backup
dot команда, която ви позволява бързо и лесно да архивирате база данни.
За да използвате тази команда, посочете името на базата данни, която искате да архивирате, и име на файла за архивния файл.
Пример
Ето пример за архивиране на база данни.
.backup Store Store_backup.db
Това архивира базата данни, наречена Store към архивен файл, наречен Store_backup.db в текущата директория.
За да архивирате в друга директория, използвайте пътя. Например:
.backup Store /Users/sqlite/bak/Store_backup.db
Архивирайте основната база данни
Първият аргумент е незадължителен. Например, можете да се свържете със SQLite по следния начин:
sqlite3 Chinook.db
Което отваря Chinook.db база данни. Тази база данни ще се появи като основна база данни.
След това стартирайте това:
.backup Chinook_backup.db
Това ще архивира базата данни в посочения файл.
Архивирайте текущо прикачената база данни
Ето още един пример, който е подобен на предишния, но с малко по-различен случай на употреба.
В този пример се свързвам към SQLite, без да посоча база данни. След това прикачвам база данни, след което стартирам .backup
команда.
Ще комбинирам всички команди за краткост:
sqlite3
ATTACH DATABASE 'Store.db' AS Store;
.backup Backup.db
Това създава резервно копие на Магазина база данни.
Възстановяване/използване на архива
Можете да използвате .restore
команда за възстановяване на базата данни. Това приема името на базата данни за възстановяване, последвано от местоположението на архивния файл.
Пример:
ATTACH DATABASE 'Chinook2.db' AS Chinook2;
.restore Chinook2 Chinook_backup.db
В този случай създадох празна база данни, наречена Chinook2 с който да възстановите архива.
Друг начин да го направите е просто да прикачите резервното копие, точно както бихте направили с всеки друг файл на база данни:
ATTACH DATABASE 'Chinook_backup.db' AS Chinook;
Ако използвате този метод, вероятно ще искате да направите копие на вашите резервни копия и да прикачите само копието. В противен случай ще презапишете резервното си копие и няма да можете да го възстановите обратно до по-ранна версия.