mirror of
https://github.com/OpenListTeam/OpenList.git
synced 2025-09-19 20:26:26 +08:00
feat(patch): add migration from Alist V3 driver to OpenList (#919)
* feat(patch): add migration from Alist V3 driver to OpenList * chore(patch): improve logging
This commit is contained in:
@ -4,6 +4,7 @@ import (
|
||||
"github.com/OpenListTeam/OpenList/v4/internal/bootstrap/patch/v3_24_0"
|
||||
"github.com/OpenListTeam/OpenList/v4/internal/bootstrap/patch/v3_32_0"
|
||||
"github.com/OpenListTeam/OpenList/v4/internal/bootstrap/patch/v3_41_0"
|
||||
"github.com/OpenListTeam/OpenList/v4/internal/bootstrap/patch/v3_all"
|
||||
)
|
||||
|
||||
type VersionPatches struct {
|
||||
@ -32,4 +33,10 @@ var UpgradePatches = []VersionPatches{
|
||||
v3_41_0.GrantAdminPermissions,
|
||||
},
|
||||
},
|
||||
{
|
||||
Version: "v3.0.0",
|
||||
Patches: []func(){
|
||||
v3_all.RenameAlistV3Driver,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
33
internal/bootstrap/patch/v3_all/rename.go
Normal file
33
internal/bootstrap/patch/v3_all/rename.go
Normal file
@ -0,0 +1,33 @@
|
||||
package v3_all
|
||||
|
||||
import (
|
||||
"github.com/OpenListTeam/OpenList/v4/internal/db"
|
||||
"github.com/OpenListTeam/OpenList/v4/pkg/utils"
|
||||
)
|
||||
|
||||
// Rename Alist V3 driver to OpenList
|
||||
func RenameAlistV3Driver() {
|
||||
storages, _, err := db.GetStorages(1, -1)
|
||||
if err != nil {
|
||||
utils.Log.Errorf("[RenameAlistV3Driver] failed to get storages: %s", err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
updatedCount := 0
|
||||
for _, s := range storages {
|
||||
if s.Driver == "AList V3" {
|
||||
utils.Log.Warnf("[RenameAlistV3Driver] rename storage [%d]%s from Alist V3 to OpenList", s.ID, s.MountPath)
|
||||
s.Driver = "OpenList"
|
||||
err = db.UpdateStorage(&s)
|
||||
if err != nil {
|
||||
utils.Log.Errorf("[RenameAlistV3Driver] failed to update storage [%d]%s: %s", s.ID, s.MountPath, err.Error())
|
||||
} else {
|
||||
updatedCount++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if updatedCount > 0 {
|
||||
utils.Log.Infof("[RenameAlistV3Driver] updated %d storages from Alist V3 to OpenList", updatedCount)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user