Questo articolo spiega come ripristinare un database SQLite dall'interfaccia della riga di comando SQLite.
Esistono alcuni modi per ripristinare un database dalla CLI di SQLite.
Un modo per farlo è semplicemente allegare un nuovo database utilizzando il file di backup (o una sua copia). Un altro modo per ripristinare un database è utilizzare .restore
dot comando per ripristinare il file di database nel database scelto all'interno dell'interfaccia a riga di comando di SQLite.
Il comando .restore
Il .restore
comando è stato progettato specificamente per ripristinare un database da un file. È piuttosto semplice da usare.
Ecco un esempio:
ATTACH DATABASE 'pets2.db' AS Pets2;
.restore Pets2 bak/pets_backup.db
In questo caso ho usato il ATTACH DATABASE
dichiarazione per creare un file di database vuoto e allegarlo con il nome Pets2 .
Ho quindi utilizzato il .restore
comando per ripristinare un file di backup esistente su quel database.
In questo caso il file di backup si trovava in una sottodirectory denominata bak . Se il tuo file di backup si trova in una directory diversa, dovrai utilizzare il percorso del file applicabile.
Allega il database
Un altro modo per ripristinare un file di backup è semplicemente allegarlo direttamente.
Quindi, invece di eseguire .restore
comando nell'esempio precedente, avrei potuto semplicemente fare quanto segue:
ATTACH DATABASE 'bak/pets_backup.db' AS Pets2;
Tuttavia, prima di farlo, dovresti assicurarti di avere una copia del file di backup da qualche altra parte. Probabilmente è meglio rinominare anche il file che allegherai.
In questo esempio, avrei fatto meglio a prendere una copia di bak/pets_backup.db e inserendo la copia nella directory dei miei dati o nella directory corrente, quindi rinominato il file in Pets2.db o qualunque cosa sia più adatta.
Se l'avessi fatto, l'avrei allegato in questo modo:
ATTACH DATABASE 'pets2.db' AS Pets2;
Il comando .open
Puoi anche usare il .open
comando per chiudere il database esistente e aprire il file che desideri ripristinare.
.open pets2.db
Apri il file di backup durante la connessione a SQLite
E avremmo anche potuto aprire quel file direttamente durante la connessione a SQLite:
sqlite3 Pets2.db