Skip to content

Commit

Permalink
Merge pull request #109 from Wieku/dev
Browse files Browse the repository at this point in the history
Save schema version separately in case user stops danser mid migration
  • Loading branch information
Wieku authored May 4, 2021
2 parents 86b5255 + 7179a84 commit 934bb80
Showing 1 changed file with 22 additions and 2 deletions.
24 changes: 22 additions & 2 deletions app/database/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ var dbFile *sql.DB
const databaseVersion = 20210423

var currentPreVersion = databaseVersion
var currentSchemaPreVersion = databaseVersion

type mapLocation struct {
dir string
Expand Down Expand Up @@ -75,6 +76,8 @@ func Init() error {
return err
}

schemaVersionExists := false

res, err := dbFile.Query("SELECT key, value FROM info")
if err != nil {
return err
Expand All @@ -91,11 +94,21 @@ func Init() error {
if key == "version" {
currentPreVersion, _ = strconv.Atoi(value)
}

if key == "schema_version" {
schemaVersionExists = true
currentSchemaPreVersion, _ = strconv.Atoi(value)
}
}

log.Println("DatabaseManager: Database version:", currentPreVersion)
if !schemaVersionExists {
currentSchemaPreVersion = currentPreVersion
}

if currentPreVersion != databaseVersion {
log.Println("DatabaseManager: Database schema version:", currentSchemaPreVersion)
log.Println("DatabaseManager: Database data version:", currentPreVersion)

if currentSchemaPreVersion != databaseVersion {
log.Println("DatabaseManager: Database schema is too old! Updating...")

statement := ""
Expand All @@ -112,7 +125,14 @@ func Init() error {
}

log.Println("DatabaseManager: Schema has been updated!")
}

_, err = dbFile.Exec("REPLACE INTO info (key, value) VALUES ('schema_version', ?)", strconv.FormatInt(databaseVersion, 10))
if err != nil {
return err
}

if currentPreVersion != databaseVersion {
migrateBeatmaps()
}

Expand Down

0 comments on commit 934bb80

Please sign in to comment.