Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'database')
-rw-r--r--database/db.go54
-rw-r--r--database/model/model.go4
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"`