first step to remove global database.db
This commit is contained in:
@@ -15,11 +15,11 @@ import (
|
||||
|
||||
var DB *gorm.DB
|
||||
|
||||
func Open(dbPath string, adminMail string) error {
|
||||
func Open(dbPath string, adminMail string) (*gorm.DB, error) {
|
||||
|
||||
db, err := gorm.Open(sqlite.Open(dbPath), &gorm.Config{})
|
||||
if err != nil {
|
||||
return err
|
||||
return nil, err
|
||||
}
|
||||
if err := db.AutoMigrate(
|
||||
&models.User{},
|
||||
@@ -31,12 +31,11 @@ func Open(dbPath string, adminMail string) error {
|
||||
&models.Category{},
|
||||
&models.BankAccount{}); err != nil {
|
||||
logger.Error.Fatalf("Couldn't create database: %v", err)
|
||||
return err
|
||||
return nil, err
|
||||
}
|
||||
DB = db
|
||||
|
||||
logger.Info.Print("Opened DB")
|
||||
|
||||
DB = db
|
||||
var categoriesCount int64
|
||||
db.Model(&models.Category{}).Count(&categoriesCount)
|
||||
if categoriesCount == 0 {
|
||||
@@ -44,7 +43,7 @@ func Open(dbPath string, adminMail string) error {
|
||||
for _, model := range categories {
|
||||
result := db.Create(&model)
|
||||
if result.Error != nil {
|
||||
return result.Error
|
||||
return nil, result.Error
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -62,7 +61,7 @@ func Open(dbPath string, adminMail string) error {
|
||||
if exists == 0 {
|
||||
result := db.Create(&model)
|
||||
if result.Error != nil {
|
||||
return result.Error
|
||||
return nil, result.Error
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -72,20 +71,20 @@ func Open(dbPath string, adminMail string) error {
|
||||
if userCount == 0 {
|
||||
var createdModel models.SubscriptionModel
|
||||
if err := db.First(&createdModel).Error; err != nil {
|
||||
return err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
admin, err := createAdmin(adminMail, createdModel.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
return nil, err
|
||||
}
|
||||
result := db.Session(&gorm.Session{FullSaveAssociations: true}).Create(&admin)
|
||||
if result.Error != nil {
|
||||
return result.Error
|
||||
return nil, result.Error
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
return db, nil
|
||||
}
|
||||
|
||||
func createSubscriptionModels() []models.SubscriptionModel {
|
||||
@@ -167,11 +166,11 @@ func createAdmin(userMail string, subscriptionModelID uint) (*models.User, error
|
||||
//"DE49700500000008447644", //fake
|
||||
}
|
||||
|
||||
func Close() error {
|
||||
func Close(db *gorm.DB) error {
|
||||
logger.Info.Print("Closing DB")
|
||||
db, err := DB.DB()
|
||||
database, err := db.DB()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return db.Close()
|
||||
return database.Close()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user