Archived
Template
1
0
This commit is contained in:
uberswe
2021-12-24 08:39:42 +01:00
parent c2493c238f
commit 2e69bffe17
2 changed files with 17 additions and 1 deletions

View File

@ -8,9 +8,26 @@ import (
"gorm.io/driver/postgres" "gorm.io/driver/postgres"
"gorm.io/driver/sqlite" "gorm.io/driver/sqlite"
"gorm.io/gorm" "gorm.io/gorm"
"time"
) )
func connectToDatabase(c config.Config) (db *gorm.DB, err error) { func connectToDatabase(c config.Config) (db *gorm.DB, err error) {
return connectLoop(c, 0)
}
func connectLoop(c config.Config, count int) (db *gorm.DB, err error) {
db, err = attemptConnection(c)
if err != nil {
if count > 300 {
return db, fmt.Errorf("could not connect to database after 300 seconds")
}
time.Sleep(1 * time.Second)
return connectLoop(c, count+1)
}
return db, err
}
func attemptConnection(c config.Config) (db *gorm.DB, err error) {
if c.Database == "sqlite" { if c.Database == "sqlite" {
// In-memory sqlite if no database name is specified // In-memory sqlite if no database name is specified
dsn := "file::memory:?cache=shared" dsn := "file::memory:?cache=shared"

View File

@ -26,7 +26,6 @@ func Run() {
if err != nil { if err != nil {
log.Fatalln(err) log.Fatalln(err)
} }
log.Println(db)
err = migrateDatabase(db) err = migrateDatabase(db)
if err != nil { if err != nil {