diff --git a/backend/internal/db/database.go b/backend/internal/db/database.go index 9862850..83ff3cc 100644 --- a/backend/internal/db/database.go +++ b/backend/internal/db/database.go @@ -2,6 +2,7 @@ package db import ( "ai-gateway/internal/models" + "log" "os" "gorm.io/driver/sqlite" @@ -34,9 +35,36 @@ func InitDB() (*gorm.DB, error) { return nil, err } + // 初始化默认数据 + if err := initializeDefaultData(db); err != nil { + log.Printf("Warning: Failed to initialize default data: %v", err) + } + return db, nil } +// initializeDefaultData 初始化默认数据(如默认API密钥) +func initializeDefaultData(db *gorm.DB) error { + // 检查是否已存在API密钥 + var count int64 + if err := db.Model(&models.APIKey{}).Count(&count).Error; err != nil { + return err + } + + // 如果没有API密钥,创建默认密钥 + if count == 0 { + defaultKey := &models.APIKey{ + Key: "sk-dev-key-789012", // 与前端配置保持一致 + } + if err := db.Create(defaultKey).Error; err != nil { + return err + } + log.Println("✓ Created default API key: sk-dev-key-789012") + } + + return nil +} + // GetProviders 从数据库中获取所有服务商列表 func GetProviders(db *gorm.DB) ([]models.Provider, error) { var providers []models.Provider diff --git a/docker-compose.cn.yml b/docker-compose.cn.yml index 06407d4..f7af0b6 100644 --- a/docker-compose.cn.yml +++ b/docker-compose.cn.yml @@ -21,7 +21,7 @@ services: networks: - ai-router-network healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "-O", "/dev/null", "http://localhost:8080/health"] + test: ["CMD", "wget", "--no-verbose", "--tries=1", "-O", "/dev/null", "http://backend:8080/health"] interval: 30s timeout: 10s retries: 3 @@ -42,7 +42,7 @@ services: networks: - ai-router-network healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:80/health"] + test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://frontend:80/health"] interval: 30s timeout: 10s retries: 3 diff --git a/docker-compose.yml b/docker-compose.yml index e242e02..febbde0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,7 +17,7 @@ services: networks: - ai-router-network healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "-O", "/dev/null", "http://localhost:8080/health"] + test: ["CMD", "wget", "--no-verbose", "--tries=1", "-O", "/dev/null", "http://backend:8080/health"] interval: 30s timeout: 10s retries: 3 @@ -38,7 +38,7 @@ services: networks: - ai-router-network healthcheck: - test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:80/health"] + test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://frontend:80/health"] interval: 30s timeout: 10s retries: 3