summaryrefslogtreecommitdiff
path: root/src/db.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/db.lisp')
-rw-r--r--src/db.lisp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/db.lisp b/src/db.lisp
index 9b646d2..5d08e6a 100644
--- a/src/db.lisp
+++ b/src/db.lisp
@@ -1,7 +1,8 @@
1;; SPDX-License-Identifier: EUPL-1.2 1;; SPDX-License-Identifier: EUPL-1.2
2;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs <perkontevs@gmail.com> 2;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs <perkontevs@gmail.com>
3(defpackage :ukkoclot/db 3(defpackage :ukkoclot/db
4 (:use :c2cl :sqlite :ukkoclot/log) 4 (:use :c2cl :sqlite)
5 (:import-from :log)
5 (:export :get-inline-bot-type :set-inline-bot-type :with-db)) 6 (:export :get-inline-bot-type :set-inline-bot-type :with-db))
6(in-package :ukkoclot/db) 7(in-package :ukkoclot/db)
7 8
@@ -39,24 +40,24 @@
39 (unless current-ver 40 (unless current-ver
40 (setf current-ver 0)) 41 (setf current-ver 0))
41 (cond 42 (cond
42 ((= current-ver +target-version+) (log-info "Database is up to date")) 43 ((= current-ver +target-version+) (log:info "Database is up to date"))
43 44
44 ((> current-ver +target-version+) 45 ((> current-ver +target-version+)
45 (log-error "Database has a higher version than supported?") 46 (log:error "Database has a higher version than supported?")
46 (error "Corrupted Database")) 47 (error "Corrupted Database"))
47 48
48 (t 49 (t
49 (log-info "Updating database from version ~A to ~A" current-ver +target-version+) 50 (log:info "Updating database from version ~A to ~A" current-ver +target-version+)
50 (loop while (< current-ver +target-version+) 51 (loop while (< current-ver +target-version+)
51 do (with-transaction db 52 do (with-transaction db
52 (log-info "Updating database step from ~A" current-ver) 53 (log:info "Updating database step from ~A" current-ver)
53 (incf current-ver) 54 (incf current-ver)
54 (upgrade-step db current-ver) 55 (upgrade-step db current-ver)
55 (execute-non-query 56 (execute-non-query
56 db 57 db
57 "INSERT OR REPLACE INTO version(id, version) VALUES (0, ?)" 58 "INSERT OR REPLACE INTO version(id, version) VALUES (0, ?)"
58 current-ver))) 59 current-ver)))
59 (log-info "Database updating complete :)"))))) 60 (log:info "Database updating complete :)")))))
60 61
61(defun upgrade-step (db new-version) 62(defun upgrade-step (db new-version)
62 (case new-version 63 (case new-version