gitea源码

engine_dump.go 781B

12345678910111213141516171819202122232425262728293031323334
  1. // Copyright 2024 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package db
  4. import "xorm.io/xorm/schemas"
  5. // DumpDatabase dumps all data from database according the special database SQL syntax to file system.
  6. func DumpDatabase(filePath, dbType string) error {
  7. var tbs []*schemas.Table
  8. for _, t := range registeredModels {
  9. t, err := xormEngine.TableInfo(t)
  10. if err != nil {
  11. return err
  12. }
  13. tbs = append(tbs, t)
  14. }
  15. type Version struct {
  16. ID int64 `xorm:"pk autoincr"`
  17. Version int64
  18. }
  19. t, err := xormEngine.TableInfo(&Version{})
  20. if err != nil {
  21. return err
  22. }
  23. tbs = append(tbs, t)
  24. if dbType != "" {
  25. return xormEngine.DumpTablesToFile(tbs, filePath, schemas.DBType(dbType))
  26. }
  27. return xormEngine.DumpTablesToFile(tbs, filePath)
  28. }