Files
kefu_cloud/server/internal/model/db.go
T

46 lines
709 B
Go

package model
import (
"log"
"gorm.io/driver/postgres"
"gorm.io/gorm"
"gorm.io/gorm/logger"
)
var DB *gorm.DB
func InitDB(dsn string) {
var err error
DB, err = gorm.Open(postgres.Open(dsn), &gorm.Config{
Logger: logger.Default.LogMode(logger.Info),
})
if err != nil {
log.Fatalf("数据库连接失败: %v", err)
}
err = Migrate(DB)
if err != nil {
log.Fatalf("数据库迁移失败: %v", err)
}
log.Println("数据库迁移完成")
}
func Migrate(db *gorm.DB) error {
return db.AutoMigrate(
&Tenant{},
&User{},
&Channel{},
&Customer{},
&Session{},
&Message{},
&SessionEvent{},
&Category{},
&KnowledgeEntry{},
&Plan{},
&OperationLog{},
&Announcement{},
)
}