diff options
| author | Anders Betts <anders.betts@gmail.com> | 2026-09-19 20:13:02 +0200 |
|---|---|---|
| committer | Anders Betts <anders.betts@gmail.com> | 2026-09-19 20:13:02 +0200 |
| commit | 77c298b3b64f2493e509734df0084068ad24441f (patch) | |
| tree | 8a8182fbecdb0dc63cdc71842511cc6d00e21716 /src/db.c | |
| parent | 30c309e15d3211e7d0e8a8a2752c3e9afa0a0638 (diff) | |
| download | bokf-0.1.33.tar.gz bokf-0.1.33.zip | |
bokslut: TUI screen, K2 årsredovisning draft, storable dividend (schema v4)v0.1.33
Diffstat (limited to 'src/db.c')
| -rw-r--r-- | src/db.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -96,6 +96,7 @@ static const char SCHEMA_V1[] = " end_date TEXT NOT NULL," " status TEXT NOT NULL DEFAULT 'open' CHECK (status IN ('open','closed'))," " locked_until TEXT," + " dividend_ore INTEGER NOT NULL DEFAULT 0," " created_at TEXT NOT NULL," " closed_at TEXT," " closed_by INTEGER REFERENCES users(id)," @@ -362,6 +363,15 @@ static int db_upgrade_v3(sqlite3 *db, char **err) return 0; } +/* v4: the årsredovisning keeps the board's proposed dividend per year. */ +static int db_upgrade_v4(sqlite3 *db, char **err) +{ + return db_exec(db, + "ALTER TABLE fiscal_years ADD COLUMN dividend_ore" + " INTEGER NOT NULL DEFAULT 0", + err); +} + static int db_upgrade(sqlite3 *db, int from, char **err) { if (db_exec(db, "BEGIN IMMEDIATE", err) != 0) @@ -374,6 +384,10 @@ static int db_upgrade(sqlite3 *db, int from, char **err) db_exec(db, "ROLLBACK", NULL); return -1; } + if (from < 4 && db_upgrade_v4(db, err) != 0) { + db_exec(db, "ROLLBACK", NULL); + return -1; + } char *sql = sqlite3_mprintf( "UPDATE meta SET value='%d' WHERE key='schema_version'", BOKF_SCHEMA_VERSION); |
