diff options
Diffstat (limited to 'doc/sqlite-database.markdown')
-rw-r--r-- | doc/sqlite-database.markdown | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/doc/sqlite-database.markdown b/doc/sqlite-database.markdown new file mode 100644 index 00000000..0a6a0ab6 --- /dev/null +++ b/doc/sqlite-database.markdown @@ -0,0 +1,50 @@ +Sqlite database management +========================== + +Kanboard uses Sqlite by default to store its data. +All tasks, projects and users are stored inside this database. + +Technically, the database is just a single file located inside the directory `data` and named `db.sqlite`. + +Export/Backup +------------- + +### Command line + +Doing a backup is very easy, just copy the file `data/db.sqlite` somewhere else when nobody use the software. + +### User interface + +You can also download at any time the database directly from the **settings** menu. + +The downloaded database is compressed with Gzip, the filename becomes `db.sqlite.gz`. + +Import/Restoration +------------------ + +There is actually no way to restore the database from the user interface. +The restoration must be done manually when no body use the software. + +- To restore an old backup, just replace and overwrite the actual file `data/db.sqlite`. +- To uncompress a gzipped database, execute this command from a terminal `gunzip db.sqlite.gz`. + +Optimization +------------ + +Occasionally, it's possible to optimize the database file by running the command `VACUUM`. +This command rebuild the entire database and can be used for several reasons: + +- Reduce the file size, deleting data produce empty space but doesn't change the file size. +- The database is fragmented due to frequent inserts or updates. + +### From the command line + +``` +sqlite3 data/db.sqlite 'VACUUM' +``` + +### From the user interface + +Go to the menu **settings** and click on the link **Optimize the database**. + +For more information, read the [Sqlite documentation](https://sqlite.org/lang_vacuum.html). |