Files
dumbassDashboard/backend/models/database.go
2025-09-12 12:38:11 +02:00

52 lines
879 B
Go

package models
import (
"log"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
var db *gorm.DB
// InitDB initializes the database connection
func InitDB() {
var err error
db, err = gorm.Open(sqlite.Open("project_dashboard.db"), &gorm.Config{})
if err != nil {
log.Fatal("Failed to connect to database:", err)
}
// Auto-migrate the schema
err = db.AutoMigrate(
&User{},
&Project{},
&ProjectMember{},
&Task{},
&Subtask{},
&Label{},
&Comment{},
&FileUpload{},
)
if err != nil {
log.Fatal("Failed to migrate database:", err)
}
log.Println("Database connected and migrated successfully")
}
// GetDB returns the database instance
func GetDB() *gorm.DB {
return db
}
// CloseDB closes the database connection
func CloseDB() {
sqlDB, err := db.DB()
if err != nil {
log.Printf("Error getting database instance: %v", err)
return
}
sqlDB.Close()
}