switched to gorm..

This commit is contained in:
$(pass /github/name)
2024-07-10 14:22:56 +02:00
parent 87e9f71ceb
commit 6ac5491053
27 changed files with 368 additions and 283 deletions

View File

@@ -1,55 +1,30 @@
package database
import (
"database/sql"
"os"
"GoMembership/internal/config"
"GoMembership/internal/models"
"GoMembership/pkg/logger"
"embed"
_ "github.com/mattn/go-sqlite3"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
//go:embed schema.sql
var fs embed.FS
// var DB *gorm.DB
func initializeDB(dbPath string) error {
func InitDB(dbPath string) (*gorm.DB, error) {
db, err := sql.Open("sqlite3", dbPath)
db, err := gorm.Open(sqlite.Open(dbPath), &gorm.Config{})
if err != nil {
return err
return nil, err
}
defer db.Close()
schema, err := fs.ReadFile("schema.sql")
if err != nil {
return err
if err := db.AutoMigrate(
&models.User{},
&models.SubscriptionModel{},
&models.Membership{},
&models.Consent{},
&models.Verification{},
&models.BankAccount{}); err != nil {
logger.Error.Fatalf("Couldn't create database: %v", err)
return nil, err
}
_, err = db.Exec(string(schema))
if err != nil {
return err
}
return nil
}
func Connect(DBcfg config.DatabaseConfig) *sql.DB {
_, err := os.Stat(DBcfg.DBPath)
if os.IsNotExist(err) {
initErr := initializeDB(DBcfg.DBPath)
if initErr != nil {
logger.Error.Fatalf("Couldn't create database: %v", initErr)
}
logger.Info.Println("Created new database")
}
db, err := sql.Open("sqlite3", DBcfg.DBPath)
if err != nil {
logger.Error.Fatal(err)
}
if err := db.Ping(); err != nil {
logger.Error.Fatal(err)
}
return db
// DB = db
return db, nil
}

View File

@@ -48,9 +48,8 @@ CREATE TABLE membership_plans (
monthly_fee DECIMAL(10, 2),
hourly_rate DECIMAL(10, 2),
included_hours_per_year INT,
remaining_hours_per_year INT,
included_hours_per_month INT,
remaining_hours_per_month INT,
conditions TEXT,
details TEXT
);