Skip to content

Commit

Permalink
Remove Sqlite fallback path func
Browse files Browse the repository at this point in the history
  • Loading branch information
6543 committed Jul 27, 2023
1 parent f9270b6 commit 800e34d
Showing 1 changed file with 8 additions and 66 deletions.
74 changes: 8 additions & 66 deletions cmd/server/setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,8 @@ func setupStore(c *cli.Context) (store.Store, error) {
}

if driver == "sqlite3" {
if newDatasource, err := fallbackSqlite3File(datasource); err != nil {
log.Fatal().Err(err).Msg("fallback to old sqlite3 file failed")
} else {
datasource = newDatasource
if err := checkSqliteFileExist(datasource); err != nil {
log.Fatal().Err(err).Msg("check sqlite file")
}
}

Expand All @@ -97,69 +95,13 @@ func setupStore(c *cli.Context) (store.Store, error) {
return store, nil
}

// TODO: remove it in v1.1.0
// TODO: add it to the "how to migrate from drone docs"
func fallbackSqlite3File(path string) (string, error) {
const dockerDefaultPath = "/var/lib/woodpecker/woodpecker.sqlite"
const dockerDefaultDir = "/var/lib/woodpecker/drone.sqlite"
const dockerOldPath = "/var/lib/drone/drone.sqlite"
const standaloneDefault = "woodpecker.sqlite"
const standaloneOld = "drone.sqlite"

// custom location was set, use that one
if path != dockerDefaultPath && path != standaloneDefault {
return path, nil
}

// file is at new default("/var/lib/woodpecker/woodpecker.sqlite")
_, err := os.Stat(dockerDefaultPath)
if err != nil && !os.IsNotExist(err) {
return "", err
}
if err == nil {
return dockerDefaultPath, nil
func checkSqliteFileExist(path string) error {
_, err := os.Stat(path)
if err != nil && os.IsNotExist(err) {
log.Warn().Msgf("no sqlite3 file found, will create one at '%s'", path)
return nil
}

// file is at new default("woodpecker.sqlite")
_, err = os.Stat(standaloneDefault)
if err != nil && !os.IsNotExist(err) {
return "", err
}
if err == nil {
return standaloneDefault, nil
}

// woodpecker run in standalone mode, file is in same folder but not renamed
_, err = os.Stat(standaloneOld)
if err != nil && !os.IsNotExist(err) {
return "", err
}
if err == nil {
// rename in same folder should be fine as it should be same docker volume
log.Warn().Msgf("found sqlite3 file at '%s' and moved to '%s'", standaloneOld, standaloneDefault)
return standaloneDefault, os.Rename(standaloneOld, standaloneDefault)
}

// file is in new folder but not renamed
_, err = os.Stat(dockerDefaultDir)
if err != nil && !os.IsNotExist(err) {
return "", err
}
if err == nil {
// rename in same folder should be fine as it should be same docker volume
log.Warn().Msgf("found sqlite3 file at '%s' and moved to '%s'", dockerDefaultDir, dockerDefaultPath)
return dockerDefaultPath, os.Rename(dockerDefaultDir, dockerDefaultPath)
}

// file is still at old location
_, err = os.Stat(dockerOldPath)
if err == nil {
log.Fatal().Msgf("found sqlite3 file at old path '%s', please move it to '%s' and update your volume path if necessary", dockerOldPath, dockerDefaultPath)
}

// file does not exist at all
log.Warn().Msgf("no sqlite3 file found, will create one at '%s'", path)
return path, nil
return err
}

func setupQueue(c *cli.Context, s store.Store) queue.Queue {
Expand Down

0 comments on commit 800e34d

Please sign in to comment.