refactor(sqlite): share user version probe · openclaw/openclaw@858fd2c
vincentkoc
·
2026-06-23
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
|
| 1 | +import type { DatabaseSync } from "node:sqlite"; |
| 2 | + |
| 3 | +export function readSqliteUserVersion(db: DatabaseSync): number { |
| 4 | +const row = db.prepare("PRAGMA user_version").get() as { user_version?: unknown } | undefined; |
| 5 | +return Number(row?.user_version ?? 0); |
| 6 | +} |
| Original file line number | Diff line number | Diff line change |
|---|
@@ -10,6 +10,7 @@ import {
|
10 | 10 | import { requireNodeSqlite } from "../infra/node-sqlite.js"; |
11 | 11 | import { resolveSqliteDatabaseFilePaths } from "../infra/sqlite-files.js"; |
12 | 12 | import { runSqliteImmediateTransactionSync } from "../infra/sqlite-transaction.js"; |
| 13 | +import { readSqliteUserVersion } from "../infra/sqlite-user-version.js"; |
13 | 14 | import { |
14 | 15 | configureSqliteConnectionPragmas, |
15 | 16 | type SqliteWalMaintenance, |
@@ -60,11 +61,6 @@ type ExistingSchemaMeta = {
|
60 | 61 | role: string | null; |
61 | 62 | }; |
62 | 63 | |
63 | | -function readSqliteUserVersion(db: DatabaseSync): number { |
64 | | -const row = db.prepare("PRAGMA user_version").get() as { user_version?: unknown } | undefined; |
65 | | -return Number(row?.user_version ?? 0); |
66 | | -} |
67 | | - |
68 | 64 | function assertSupportedAgentSchemaVersion(db: DatabaseSync, pathname: string): void { |
69 | 65 | const userVersion = readSqliteUserVersion(db); |
70 | 66 | if (userVersion > OPENCLAW_AGENT_SCHEMA_VERSION) { |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -11,6 +11,7 @@ import { requireNodeSqlite } from "../infra/node-sqlite.js";
|
11 | 11 | import { applyPrivateModeSync } from "../infra/private-mode.js"; |
12 | 12 | import { resolveSqliteDatabaseFilePaths } from "../infra/sqlite-files.js"; |
13 | 13 | import { runSqliteImmediateTransactionSync } from "../infra/sqlite-transaction.js"; |
| 14 | +import { readSqliteUserVersion } from "../infra/sqlite-user-version.js"; |
14 | 15 | import { |
15 | 16 | configureSqliteConnectionPragmas, |
16 | 17 | type SqliteWalMaintenance, |
@@ -58,11 +59,6 @@ const cachedDatabases = new Map<string, OpenClawStateDatabase>();
|
58 | 59 | |
59 | 60 | type OpenClawStateMetadataDatabase = Pick<OpenClawStateKyselyDatabase, "schema_meta">; |
60 | 61 | |
61 | | -function readSqliteUserVersion(db: DatabaseSync): number { |
62 | | -const row = db.prepare("PRAGMA user_version").get() as { user_version?: unknown } | undefined; |
63 | | -return Number(row?.user_version ?? 0); |
64 | | -} |
65 | | - |
66 | 62 | function assertSupportedSchemaVersion(db: DatabaseSync, pathname: string): void { |
67 | 63 | const userVersion = readSqliteUserVersion(db); |
68 | 64 | if (userVersion > OPENCLAW_STATE_SCHEMA_VERSION) { |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。