fix migration from v0.3.3 (#11)

This commit is contained in:
Tiger Wang (王豫)
2022-08-31 17:56:39 -04:00
committed by GitHub
parent 9afe211d90
commit 6c73a4be13
4 changed files with 115 additions and 67 deletions
+44 -3
View File
@@ -1,6 +1,7 @@
package main
import (
"database/sql"
"os"
"path/filepath"
"strconv"
@@ -94,16 +95,56 @@ func (u *migrationTool1) Migrate() error {
}
func (u *migrationTool1) PostMigrate() error {
_logger.Info("Deleting legacy `user` section in %s...", version.LegacyCasaOSConfigFilePath)
legacyConfigFile, err := ini.Load(version.LegacyCasaOSConfigFilePath)
if err != nil {
return err
}
_logger.Info("Deleting legacy `user` section in %s...", version.LegacyCasaOSConfigFilePath)
legacyConfigFile.DeleteSection("user")
return legacyConfigFile.SaveTo(version.LegacyCasaOSConfigFilePath)
if err := legacyConfigFile.SaveTo(version.LegacyCasaOSConfigFilePath); err != nil {
return err
}
dbPath := legacyConfigFile.Section("app").Key("DBPath").String()
dbFile := filepath.Join(dbPath, "db", "casaOS.db")
if _, err := os.Stat(dbFile); err != nil {
dbFile = filepath.Join(defaultDBPath, "db", "casaOS.db")
if _, err := os.Stat(dbFile); err != nil {
return nil
}
}
legacyDB, err := sql.Open("sqlite3", dbFile)
if err != nil {
return err
}
defer legacyDB.Close()
for _, tableName := range []string{"o_users", "o_user"} {
tableExists, err := isTableExist(legacyDB, tableName)
if err != nil {
return err
}
if !tableExists {
continue
}
_logger.Info("Dropping `%s` table in legacy database...", tableName)
if _, err = legacyDB.Exec("DROP TABLE " + tableName); err != nil {
_logger.Error("Failed to drop `%s` table in legacy database: %s", tableName, err)
}
}
return nil
}
func NewMigrationToolFor032AndOlder() interfaces.MigrationTool {