From 77c298b3b64f2493e509734df0084068ad24441f Mon Sep 17 00:00:00 2001 From: Anders Betts Date: Sat, 19 Sep 2026 20:13:02 +0200 Subject: bokslut: TUI screen, K2 årsredovisning draft, storable dividend (schema v4) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/db.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/db.c') diff --git a/src/db.c b/src/db.c index 0de40ea..ebee37b 100644 --- a/src/db.c +++ b/src/db.c @@ -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); -- cgit v1.3