summaryrefslogtreecommitdiff
path: root/database.go
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2026-05-31 21:34:44 +0200
committerxengineering <me@xengineering.eu>2026-05-31 21:37:16 +0200
commit29ae857b5ca13fa12f1d07d4a30597ff9ce28767 (patch)
tree8ae97fc41d2e0724d29f88fe8ddbb65b482c13d2 /database.go
parentefb324070827bd1fe713b93f80c601551d246579 (diff)
downloadfinserv-29ae857b5ca13fa12f1d07d4a30597ff9ce28767.tar
finserv-29ae857b5ca13fa12f1d07d4a30597ff9ce28767.tar.zst
finserv-29ae857b5ca13fa12f1d07d4a30597ff9ce28767.zip
Add UserVersion()
This function gets the user_version SQLite3 field describing which migration was the last executed one. A test checking this before applying any migrations and after each migration is included.
Diffstat (limited to 'database.go')
-rw-r--r--database.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/database.go b/database.go
index c71ff78..44a172d 100644
--- a/database.go
+++ b/database.go
@@ -66,3 +66,16 @@ func Migrate(db *sql.DB, index int) error {
return err
})
}
+
+func UserVersion(db *sql.DB) (int, error) {
+ var version int
+
+ err := Transaction(db, func(tx *sql.Tx) error {
+ return tx.QueryRow(`PRAGMA user_version`).Scan(&version)
+ })
+ if err != nil {
+ return 0, err
+ }
+
+ return version, nil
+}