Просмотр исходного кода

✨ feat(database): implement database migration logic for PostgreSQL and add fast migration fallback

CaIon 8 месяцев назад
Родитель
Сommit
ab0ba9f38c
1 измененных файлов с 24 добавлено и 1 удалено
  1. 24 1
      model/main.go

+ 24 - 1
model/main.go

@@ -232,6 +232,30 @@ func InitLogDB() (err error) {
 }
 
 func migrateDB() error {
+	if !common.UsingPostgreSQL {
+		return migrateDBFast()
+	}
+	err := DB.AutoMigrate(
+		&Channel{},
+		&Token{},
+		&User{},
+		&Option{},
+		&Redemption{},
+		&Ability{},
+		&Log{},
+		&Midjourney{},
+		&TopUp{},
+		&QuotaData{},
+		&Task{},
+		&Setup{},
+	)
+	if err != nil {
+		return err
+	}
+	return nil
+}
+
+func migrateDBFast() error {
 	var wg sync.WaitGroup
 	errChan := make(chan error, 12) // Buffer size matches number of migrations
 
@@ -273,7 +297,6 @@ func migrateDB() error {
 			return err
 		}
 	}
-
 	common.SysLog("database migrated")
 	return nil
 }