first commit
This commit is contained in:
51
backend/models/database.go
Normal file
51
backend/models/database.go
Normal file
@@ -0,0 +1,51 @@
|
||||
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()
|
||||
}
|
Reference in New Issue
Block a user