diff options
Diffstat (limited to 'src/db.lisp')
| -rw-r--r-- | src/db.lisp | 13 |
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 |