Setting database menggunahkan gorm.io di Gofiber
go get -u gorm.io/gorm go get -u gorm.io/driver/postgres go get github.com/joho/godotenv
project │ ├── src | ├── configs | | └── db.go | ├── controllers | | └── ProductController.go | ├── helpers | | └── migration.go | ├── models | | └── Products.go | └── routes | └── main.go └── main.go
- src/models/Products.go
package models import "gorm.io/gorm" type Product struct { gorm.Model Name string `json:"name"` Price float64 `json:"price"` Stock int `json:"stock"` }src/configs/db.gopackage configs import ( "log" "os" "gorm.io/driver/postgres" "gorm.io/gorm" ) var DB *gorm.DB func InitDB() { url := os.Getenv("URL") var err error DB, err = gorm.Open(postgres.Open(url), &gorm.Config{}) if err != nil { log.Fatalf("Failed to connect to the database: %v", err) } }src/helpers/migration.gopackage helpers import ( "gofiber/src/configs" "gofiber/src/models" ) func Migration() { configs.DB.AutoMigrate(&models.Product{}) }main.gopackage main import ( "gofiber/src/configs" "gofiber/src/helpers" "gofiber/src/routes" "log" "github.com/gofiber/fiber/v2" "github.com/joho/godotenv" ) func main() { err := godotenv.Load() if err != nil { log.Fatal("Error loading .env file") } app := fiber.New() configs.InitDB() helpers.Migration() routes.Router(app) app.Listen(":3000") }
Last updated