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 = DB.AutoMigrate( &Tenant{}, &User{}, &Channel{}, &Customer{}, &Session{}, &Message{}, &SessionEvent{}, &Category{}, &KnowledgeEntry{}, &Plan{}, &OperationLog{}, &Announcement{}, ) if err != nil { log.Fatalf("数据库迁移失败: %v", err) } log.Println("数据库迁移完成") }