From 0a9660a6eeece467e94b395fdc0c8ad96d29e133 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 16 May 2026 15:40:00 +0300 Subject: Migrate stale sets schema for podcasts --- internal/repository/sqlite_test.go | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) (limited to 'internal/repository/sqlite_test.go') diff --git a/internal/repository/sqlite_test.go b/internal/repository/sqlite_test.go index eaf142f..706f911 100644 --- a/internal/repository/sqlite_test.go +++ b/internal/repository/sqlite_test.go @@ -1168,7 +1168,7 @@ func TestSQLite_SchemaInitialization(t *testing.T) { } }) - t.Run("stale pre-podcast sets schema is not upgraded", func(t *testing.T) { + t.Run("stale pre-podcast sets schema is upgraded", func(t *testing.T) { db, err := sql.Open("sqlite", ":memory:") if err != nil { t.Fatalf("open: %v", err) @@ -1187,9 +1187,36 @@ CREATE TABLE sets ( t.Fatalf("create stale schema: %v", err) } - _, err = New(db) - if err == nil { - t.Fatal("expected stale schema initialization to fail") + s, err := New(db) + if err != nil { + t.Fatalf("initialize stale schema: %v", err) + } + defer s.Close() + + var isPodcastColumn int + rows, err := s.db.Query(`PRAGMA table_info(sets)`) + if err != nil { + t.Fatalf("table info: %v", err) + } + defer rows.Close() + for rows.Next() { + var cid int + var name, typ string + var notNull int + var defaultValue sql.NullString + var pk int + if err := rows.Scan(&cid, &name, &typ, ¬Null, &defaultValue, &pk); err != nil { + t.Fatalf("scan column: %v", err) + } + if name == "is_podcast" { + isPodcastColumn++ + } + } + if err := rows.Err(); err != nil { + t.Fatalf("rows: %v", err) + } + if isPodcastColumn != 1 { + t.Fatalf("expected one is_podcast column, got %d", isPodcastColumn) } }) } -- cgit v1.2.3