Add converter version info to db and jld2 cache

This commit is contained in:
Wataru Otsubo 2025-01-27 10:04:46 +01:00
parent c87cc47232
commit 3a3f7a53f8
6 changed files with 24 additions and 8 deletions

View file

@ -104,7 +104,7 @@ function create_database(
jldopen(jld2_slavelog_path, "w")
end
insert_version_info(db)
insert_version_info(db, jld2_slavelog)
insert_qaqc_campaign_id(db)
insert_qaqc_positions(db, jathubs_table)

View file

@ -1,20 +1,32 @@
"""
insert_version_info(db::SQLite.DB)
insert_version_info(db::SQLite.DB, jld2_slavelog::JLD2.JLDFile)
Insert version information of this software as string.
In `db`, these are located in `versions` table and in JLD2 cache, they are located in "meta".
"""
function insert_version_info(db::SQLite.DB)
function insert_version_info(db::SQLite.DB, jld2_slavelog::JLD2.JLDFile)
stmt_insert_version = DBInterface.prepare(
db,
sql"""
INSERT INTO versions VALUES (:converter)
INSERT INTO versions VALUES (:converter, :converter_git)
""",
)
@info "converter version info" pkgversion(@__MODULE__) |> string
converter_git_describe = try
read(`git describe --dirty`, String)
catch e
@warn "Failed to get git describe: $e"
""
end
@info "converter version info" converter = pkgversion(@__MODULE__) |> string converter_git_describe
DBInterface.execute(
stmt_insert_version,
(; converter = pkgversion(@__MODULE__) |> string),
(;
converter = pkgversion(@__MODULE__) |> string,
converter_git = converter_git_describe,
),
)
jld2_slavelog["meta"] = converter_git_describe
nothing
end

View file

@ -1,5 +1,6 @@
CREATE TABLE versions (
converter TEXT
converter TEXT,
converter_git TEXT
);
CREATE TABLE ps_boards (