Files
ttstd-infinite-canvas/backend/cmd/migrate-sqlite-postgres/main_test.go
Rou 21b69d8bc7 支持 S3 兼容对象存储 (#336)
* feat(storage): 支持 S3 对象存储

* fix(storage): 补齐 S3 对象文件后缀
2026-08-27 22:16:08 +08:00

37 lines
856 B
Go

package main
import (
"sync"
"testing"
"infinite-canvas/backend/internal/database"
"gorm.io/gorm/schema"
)
func TestMigrationListCoversSchemaModels(t *testing.T) {
want := make(map[string]bool, len(database.Models()))
cache := &sync.Map{}
for _, value := range database.Models() {
parsed, err := schema.Parse(value, cache, schema.NamingStrategy{})
if err != nil {
t.Fatal(err)
}
want[parsed.Table] = false
}
for _, migration := range migrations() {
if _, exists := want[migration.name]; !exists {
t.Fatalf("migration list contains unknown table %q", migration.name)
}
if want[migration.name] {
t.Fatalf("migration list contains duplicate table %q", migration.name)
}
want[migration.name] = true
}
for table, covered := range want {
if !covered {
t.Errorf("migration list is missing table %q", table)
}
}
}