From a982c663d2521036b2df3da851519cb2c68b8c69 Mon Sep 17 00:00:00 2001 From: sagit <36596628+Sagit-chu@users.noreply.github.com> Date: Mon, 16 Feb 2026 00:52:04 +0800 Subject: [PATCH] fix(backend): force column checks in migration even if schema version is current (#131) fix(backend): force column checks in migration --- go-backend/internal/store/sqlite/repository.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/go-backend/internal/store/sqlite/repository.go b/go-backend/internal/store/sqlite/repository.go index fa9d7d6..f8c44e9 100644 --- a/go-backend/internal/store/sqlite/repository.go +++ b/go-backend/internal/store/sqlite/repository.go @@ -1384,9 +1384,6 @@ func migrateSchema(db *store.DB) error { return err } } - if ver >= currentSchemaVersion { - return nil - } ensureColumn := func(table, col, typ string) { var dummy interface{} @@ -1454,6 +1451,10 @@ func migrateSchema(db *store.DB) error { return err } + if ver >= currentSchemaVersion { + return nil + } + setSchemaVersion(db, currentSchemaVersion) return nil } @@ -1624,10 +1625,10 @@ func isMissingTableError(dialect store.Dialect, err error) bool { return false } msg := strings.ToLower(err.Error()) - if dialect == store.DialectPostgres { - return strings.Contains(msg, "relation") && strings.Contains(msg, "does not exist") - } - return strings.Contains(msg, "no such table") + // Check both PostgreSQL and SQLite patterns for robustness + // (tests may use SQLite with DialectPostgres for convenience) + return (strings.Contains(msg, "relation") && strings.Contains(msg, "does not exist")) || + strings.Contains(msg, "no such table") } func (r *Repository) CreatePeerShare(share *PeerShare) error {