diff options
| author | xengineering <me@xengineering.eu> | 2026-05-31 21:34:44 +0200 |
|---|---|---|
| committer | xengineering <me@xengineering.eu> | 2026-05-31 21:37:16 +0200 |
| commit | 29ae857b5ca13fa12f1d07d4a30597ff9ce28767 (patch) | |
| tree | 8ae97fc41d2e0724d29f88fe8ddbb65b482c13d2 /database.go | |
| parent | efb324070827bd1fe713b93f80c601551d246579 (diff) | |
| download | finserv-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.go | 13 |
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 +} |
