mirror of https://github.com/Xhofe/alist
fix: failed create record if use mysql (close #1690)
parent
1af9f4061e
commit
d329df70f3
|
@ -53,9 +53,6 @@ func InitDB() {
|
||||||
dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local&tls=%s",
|
dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local&tls=%s",
|
||||||
database.User, database.Password, database.Host, database.Port, database.Name, database.SSLMode)
|
database.User, database.Password, database.Host, database.Port, database.Name, database.SSLMode)
|
||||||
dB, err = gorm.Open(mysql.Open(dsn), gormConfig)
|
dB, err = gorm.Open(mysql.Open(dsn), gormConfig)
|
||||||
if err == nil {
|
|
||||||
dB = dB.Set("gorm:table_options", "ENGINE=InnoDB CHARSET=utf8mb4")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case "postgres":
|
case "postgres":
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,6 +3,7 @@ package db
|
||||||
import (
|
import (
|
||||||
"log"
|
"log"
|
||||||
|
|
||||||
|
"github.com/alist-org/alist/v3/internal/conf"
|
||||||
"github.com/alist-org/alist/v3/internal/model"
|
"github.com/alist-org/alist/v3/internal/model"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
|
@ -11,7 +12,12 @@ var db *gorm.DB
|
||||||
|
|
||||||
func Init(d *gorm.DB) {
|
func Init(d *gorm.DB) {
|
||||||
db = d
|
db = d
|
||||||
err := db.AutoMigrate(new(model.Storage), new(model.User), new(model.Meta), new(model.SettingItem))
|
var err error
|
||||||
|
if conf.Conf.Database.Type == "mysql" {
|
||||||
|
err = db.Set("gorm:table_options", "ENGINE=InnoDB CHARSET=utf8mb4").AutoMigrate(new(model.Storage), new(model.User), new(model.Meta), new(model.SettingItem))
|
||||||
|
} else {
|
||||||
|
err = db.AutoMigrate(new(model.Storage), new(model.User), new(model.Meta), new(model.SettingItem))
|
||||||
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("failed migrate database: %s", err.Error())
|
log.Fatalf("failed migrate database: %s", err.Error())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue