Skip to content

Commit

Permalink
gitea dump: include version & Check InstallLock (#12760) (#12762)
Browse files Browse the repository at this point in the history
* gitea dump: include version

* Check InstallLock
  • Loading branch information
6543 authored Sep 8, 2020
1 parent dc71d00 commit 7a25441
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 0 deletions.
4 changes: 4 additions & 0 deletions cmd/dump.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@ func fatal(format string, args ...interface{}) {

func runDump(ctx *cli.Context) error {
setting.NewContext()
if !setting.InstallLock {
log.Error("Is '%s' really the right config path?\n", setting.CustomConf)
return fmt.Errorf("gitea is not initialized")
}
setting.NewServices() // cannot access session settings otherwise

err := models.SetEngine()
Expand Down
11 changes: 11 additions & 0 deletions models/models.go
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,17 @@ func DumpDatabase(filePath string, dbType string) error {
}
tbs = append(tbs, t)
}

type Version struct {
ID int64 `xorm:"pk autoincr"`
Version int64
}
t, err := x.TableInfo(Version{})
if err != nil {
return err
}
tbs = append(tbs, t)

if len(dbType) > 0 {
return x.DumpTablesToFile(tbs, filePath, schemas.DBType(dbType))
}
Expand Down
6 changes: 6 additions & 0 deletions models/models_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ func TestDumpDatabase(t *testing.T) {
dir, err := ioutil.TempDir(os.TempDir(), "dump")
assert.NoError(t, err)

type Version struct {
ID int64 `xorm:"pk autoincr"`
Version int64
}
assert.NoError(t, x.Sync2(Version{}))

for _, dbName := range setting.SupportedDatabases {
dbType := setting.GetDBTypeByName(dbName)
assert.NoError(t, DumpDatabase(filepath.Join(dir, dbType+".sql"), dbType))
Expand Down

0 comments on commit 7a25441

Please sign in to comment.