aboutsummaryrefslogtreecommitdiff
path: root/internal/db/db.go
diff options
context:
space:
mode:
authorᴜɴᴋɴᴡᴏɴ <u@gogs.io>2020-05-04 16:25:57 +0800
committerGitHub <noreply@github.com>2020-05-04 16:25:57 +0800
commit9bb218734c53c98a13264c2f4f479e3633ccfe18 (patch)
treef32557409337e18d9f7959dcb2089f0bf698513b /internal/db/db.go
parent82ffca3fc9988345016c8033f7f65c5b028dfe10 (diff)
db: use GORM to backup and restore non-legacy tables (#6142)
Diffstat (limited to 'internal/db/db.go')
-rw-r--r--internal/db/db.go13
1 files changed, 7 insertions, 6 deletions
diff --git a/internal/db/db.go b/internal/db/db.go
index ec2dd6ec..a6e53683 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -122,15 +122,16 @@ func getLogWriter() (io.Writer, error) {
return w, nil
}
+// NOTE: Lines are sorted in alphabetical order, each letter in its own line.
var tables = []interface{}{
new(AccessToken),
new(LFSObject), new(LoginSource),
}
-func Init() error {
+func Init() (*gorm.DB, error) {
db, err := openDB(conf.Database)
if err != nil {
- return errors.Wrap(err, "open database")
+ return nil, errors.Wrap(err, "open database")
}
db.SingularTable(true)
db.DB().SetMaxOpenConns(conf.Database.MaxOpenConns)
@@ -139,7 +140,7 @@ func Init() error {
w, err := getLogWriter()
if err != nil {
- return errors.Wrap(err, "get log writer")
+ return nil, errors.Wrap(err, "get log writer")
}
db.SetLogger(&dbutil.Writer{Writer: w})
if !conf.IsProdMode() {
@@ -168,7 +169,7 @@ func Init() error {
name := strings.TrimPrefix(fmt.Sprintf("%T", table), "*db.")
err = db.AutoMigrate(table).Error
if err != nil {
- return errors.Wrapf(err, "auto migrate %q", name)
+ return nil, errors.Wrapf(err, "auto migrate %q", name)
}
log.Trace("Auto migrated %q", name)
}
@@ -179,7 +180,7 @@ func Init() error {
sourceFiles, err := loadLoginSourceFiles(filepath.Join(conf.CustomDir(), "conf", "auth.d"))
if err != nil {
- return errors.Wrap(err, "load login source files")
+ return nil, errors.Wrap(err, "load login source files")
}
// Initialize stores, sorted in alphabetical order.
@@ -191,5 +192,5 @@ func Init() error {
TwoFactors = &twoFactors{DB: db}
Users = &users{DB: db}
- return db.DB().Ping()
+ return db, db.DB().Ping()
}