mirror of
https://github.com/veops/oneterm.git
synced 2025-10-18 21:24:46 +08:00
fix(backend): database auto migrate
This commit is contained in:
@@ -24,11 +24,11 @@ var (
|
|||||||
func initDB() {
|
func initDB() {
|
||||||
cfg := db.ConfigFromGlobal()
|
cfg := db.ConfigFromGlobal()
|
||||||
|
|
||||||
if err := db.Init(cfg,
|
if err := db.Init(cfg, true,
|
||||||
model.DefaultAccount, model.DefaultAsset, model.DefaultAuthorization, model.DefaultCommand,
|
model.DefaultAccount, model.DefaultAsset, model.DefaultAuthorization, model.DefaultCommand,
|
||||||
model.DefaultConfig, model.DefaultFileHistory, model.DefaultGateway, model.DefaultHistory,
|
model.DefaultConfig, model.DefaultFileHistory, model.DefaultGateway, model.DefaultHistory,
|
||||||
model.DefaultNode, model.DefaultPublicKey, model.DefaultSession, model.DefaultSessionCmd,
|
model.DefaultNode, model.DefaultPublicKey, model.DefaultSession, model.DefaultSessionCmd,
|
||||||
model.DefaultShare,
|
model.DefaultShare, model.DefaultQuickCommand,
|
||||||
); err != nil {
|
); err != nil {
|
||||||
logger.L().Fatal("Failed to init database", zap.Error(err))
|
logger.L().Fatal("Failed to init database", zap.Error(err))
|
||||||
}
|
}
|
||||||
|
@@ -110,7 +110,7 @@ func Open(cfg Config) (*gorm.DB, error) {
|
|||||||
return db, nil
|
return db, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func Init(cfg Config, models ...interface{}) error {
|
func Init(cfg Config, autoMigrate bool, models ...interface{}) error {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
dbOnce.Do(func() {
|
dbOnce.Do(func() {
|
||||||
@@ -120,14 +120,14 @@ func Init(cfg Config, models ...interface{}) error {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(models) > 0 {
|
|
||||||
if err = DB.AutoMigrate(models...); err != nil {
|
|
||||||
err = fmt.Errorf("auto migrate failed: %w", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if len(models) > 0 && autoMigrate {
|
||||||
|
if err = DB.AutoMigrate(models...); err != nil {
|
||||||
|
err = fmt.Errorf("auto migrate failed: %w", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -174,7 +174,6 @@ func DropIndex(value interface{}, indexName string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize (backward compatibility)
|
|
||||||
func init() {
|
func init() {
|
||||||
if config.Cfg == nil {
|
if config.Cfg == nil {
|
||||||
return
|
return
|
||||||
@@ -197,7 +196,7 @@ func init() {
|
|||||||
ConnMaxIdleTime: time.Minute * 10,
|
ConnMaxIdleTime: time.Minute * 10,
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := Init(cfg); err != nil {
|
if err := Init(cfg, false); err != nil {
|
||||||
logger.L().Fatal("init database failed", zap.Error(err))
|
logger.L().Fatal("init database failed", zap.Error(err))
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
@@ -207,7 +206,7 @@ func init() {
|
|||||||
if config.Cfg.Database.Host != "" {
|
if config.Cfg.Database.Host != "" {
|
||||||
cfg := ConfigFromGlobal()
|
cfg := ConfigFromGlobal()
|
||||||
|
|
||||||
if err := Init(cfg); err != nil {
|
if err := Init(cfg, false); err != nil {
|
||||||
logger.L().Fatal("init database failed", zap.Error(err))
|
logger.L().Fatal("init database failed", zap.Error(err))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user