b7cc3c4265
- 新增.gitignore,忽略日志、node_modules、dist及编辑器配置文件 - 创建基础React应用及组件App,集成React、Vite和样式 - 设计响应式CSS变量和全局样式,支持暗黑模式 - 新增图标SVG符号定义,用于社交及文档链接展示 - 配置TypeScript项目(tsconfig)和ESLint规则保障代码质量 - 配置Vite开发服务器,支持代理接口与模块别名 - 增加前端API客户端封装与健康检查接口定义 - 增加类型定义文件,映射后端数据模型接口 - 创建index.html作为前端入口页面 - 新增package.json定义依赖和运行脚本,包含React及Ant Design等库
39 lines
827 B
Go
39 lines
827 B
Go
package database
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"gorm.io/driver/postgres"
|
|
"gorm.io/gorm"
|
|
"synoth.com/janus/internal/model"
|
|
)
|
|
|
|
// Config 数据库配置
|
|
type Config struct {
|
|
Host string
|
|
Port int
|
|
Username string
|
|
Password string
|
|
DBName string
|
|
SSLMode string
|
|
}
|
|
|
|
// Connect 连接数据库
|
|
func Connect(cfg Config) (*gorm.DB, error) {
|
|
dsn := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=%s",
|
|
cfg.Host, cfg.Port, cfg.Username, cfg.Password, cfg.DBName, cfg.SSLMode,
|
|
)
|
|
|
|
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
|
|
if err != nil {
|
|
return nil, fmt.Errorf("connect database: %w", err)
|
|
}
|
|
|
|
return db, nil
|
|
}
|
|
|
|
// AutoMigrate 自动迁移数据库表结构
|
|
func AutoMigrate(db *gorm.DB) error {
|
|
return db.AutoMigrate(&model.Provider{}, &model.APIKey{}, &model.Channel{}, &model.Model{})
|
|
}
|