From 27368826d36380fd0ecac67b64fda0e6b57c7580 Mon Sep 17 00:00:00 2001 From: wutianbiao Date: Wed, 11 Mar 2026 10:58:43 +0800 Subject: [PATCH] =?UTF-8?q?issue:=20=E5=88=9D=E6=AC=A1=E5=90=AF=E5=8A=A8no?= =?UTF-8?q?tex=E6=8A=A5=E9=94=99=20#31=20=E8=B0=83=E6=95=B4migrateSourceSt?= =?UTF-8?q?atusColumns=EF=BC=8C=E7=BB=9F=E4=B8=80=E4=B8=BA=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E5=89=8D=E5=88=A4=E6=96=AD=E5=AD=97=E6=AE=B5=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E5=AD=98=E5=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/store.go | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/backend/store.go b/backend/store.go index 94b6b29..f47d029 100644 --- a/backend/store.go +++ b/backend/store.go @@ -84,11 +84,6 @@ func (s *Store) initSchema() error { return err } - // Migration: Add status tracking columns to sources table - if err := s.migrateSourceStatusColumns(); err != nil { - return err - } - // Migration: Add hash_id column to users table for existing databases if err := s.migrateAddHashIDColumn(); err != nil { return err @@ -122,6 +117,14 @@ func (s *Store) initSchema() error { } } + // Migration: Add status tracking columns to sources table + err = s.db.QueryRow(`SELECT COUNT(*) FROM pragma_table_info('sources') WHERE name = 'status'`).Scan(&count) + if err == nil && count == 0 { + if err := s.migrateSourceStatusColumns(); err != nil { + return err + } + } + restSchema := ` CREATE TABLE IF NOT EXISTS sources ( id TEXT PRIMARY KEY, @@ -223,21 +226,10 @@ func (s *Store) initSchema() error { // migrateSourceStatusColumns adds status tracking columns to sources table func (s *Store) migrateSourceStatusColumns() error { - // Check if status column exists - var count int - err := s.db.QueryRow(`SELECT COUNT(*) FROM pragma_table_info('sources') WHERE name = 'status'`).Scan(&count) - if err != nil { - return fmt.Errorf("failed to check status column: %w", err) - } - - if count > 0 { - return nil // Columns already exist - } - log.Printf("🔄 Adding status tracking columns to sources table...") - + // Add status column - _, err = s.db.Exec(`ALTER TABLE sources ADD COLUMN status TEXT DEFAULT 'completed'`) + _, err := s.db.Exec(`ALTER TABLE sources ADD COLUMN status TEXT DEFAULT 'completed'`) if err != nil { return fmt.Errorf("failed to add status column: %w", err) }