diff options
| author | Sanaei <ho3ein.sanaei@gmail.com> | 2025-02-04 13:27:58 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-04 13:27:58 +0300 |
| commit | d18a1a37ceb7c005a5a829ba8b9ef2d103c181b5 (patch) | |
| tree | aa9af2e8beb4ce502684f1af300a8902db9f7b2c /database | |
| parent | 04c6b2722b7b945ed12e743de70c05e5f8663815 (diff) | |
revert group management (#2656)
* Revert "json post base path bug fixed (#2647)"
This reverts commit 04cf250a547bb64265d256e7d15af7cea5ecfa67.
* Revert "Group Management of Subscription Clients"
* Revert "fix getSubGroupClients for enable/disable and edit clients."
* Revert "Enhance database initialization in db.go (#2645)"
This reverts commit 66fe84181b9c4e2f6c6be943a7f486b4308c32ff.
* Revert "Add checkpoint handling in CloseDB function (#2646)"
This reverts commit 4dd40f6f192e3f94f2ea4fe9e942e6663b5a1527.
* Revert "Improved database model migration and added indexing (#2655)"
This reverts commit b922d986d6783ce28d00ca948024dee44a11f29e.
Diffstat (limited to 'database')
| -rw-r--r-- | database/db.go | 54 | ||||
| -rw-r--r-- | database/model/model.go | 4 |
2 files changed, 8 insertions, 50 deletions
diff --git a/database/db.go b/database/db.go index d252cfe0..300a73c0 100644 --- a/database/db.go +++ b/database/db.go @@ -26,35 +26,20 @@ const ( ) func initModels() error { - // Order matters: first create tables without dependencies - baseModels := []interface{}{ + models := []interface{}{ &model.User{}, - &model.Setting{}, - } - - // Migrate base models - for _, model := range baseModels { - if err := db.AutoMigrate(model); err != nil { - log.Printf("Error auto migrating base model: %v", err) - return err - } - } - - // Then migrate models with dependencies - dependentModels := []interface{}{ &model.Inbound{}, &model.OutboundTraffics{}, + &model.Setting{}, &model.InboundClientIps{}, &xray.ClientTraffic{}, } - - for _, model := range dependentModels { + for _, model := range models { if err := db.AutoMigrate(model); err != nil { - log.Printf("Error auto migrating dependent model: %v", err) + log.Printf("Error auto migrating model: %v", err) return err } } - return nil } @@ -97,31 +82,9 @@ func InitDB(dbPath string) error { } c := &gorm.Config{ - Logger: gormLogger, - SkipDefaultTransaction: true, - PrepareStmt: true, + Logger: gormLogger, } - - dsn := dbPath + "?cache=shared&_journal_mode=WAL&_synchronous=NORMAL" - db, err = gorm.Open(sqlite.Open(dsn), c) - if err != nil { - return err - } - - sqlDB, err := db.DB() - if err != nil { - return err - } - - _, err = sqlDB.Exec("PRAGMA cache_size = -64000;") - if err != nil { - return err - } - _, err = sqlDB.Exec("PRAGMA temp_store = MEMORY;") - if err != nil { - return err - } - _, err = sqlDB.Exec("PRAGMA foreign_keys = ON;") + db, err = gorm.Open(sqlite.Open(dbPath), c) if err != nil { return err } @@ -138,11 +101,6 @@ func InitDB(dbPath string) error { func CloseDB() error { if db != nil { - - if err := Checkpoint(); err != nil { - log.Printf("error executing checkpoint: %v", err) - } - sqlDB, err := db.DB() if err != nil { return err diff --git a/database/model/model.go b/database/model/model.go index 915cae0b..e9d1836f 100644 --- a/database/model/model.go +++ b/database/model/model.go @@ -29,14 +29,14 @@ type User struct { type Inbound struct { Id int `json:"id" form:"id" gorm:"primaryKey;autoIncrement"` - UserId int `json:"-" gorm:"index"` + UserId int `json:"-"` Up int64 `json:"up" form:"up"` Down int64 `json:"down" form:"down"` Total int64 `json:"total" form:"total"` Remark string `json:"remark" form:"remark"` Enable bool `json:"enable" form:"enable"` ExpiryTime int64 `json:"expiryTime" form:"expiryTime"` - ClientStats []xray.ClientTraffic `gorm:"foreignKey:InboundId;references:Id;constraint:OnDelete:CASCADE" json:"clientStats"` + ClientStats []xray.ClientTraffic `gorm:"foreignKey:InboundId;references:Id" json:"clientStats" form:"clientStats"` // config part Listen string `json:"listen" form:"listen"` |
