Adapts database connections
This commit is contained in:
parent
34f7d99639
commit
47dab069c3
2 changed files with 21 additions and 14 deletions
|
|
@ -9,14 +9,16 @@ import (
|
||||||
migrate "github.com/rubenv/sql-migrate"
|
migrate "github.com/rubenv/sql-migrate"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var DB *sqlx.DB
|
||||||
|
|
||||||
//go:embed migrations/*
|
//go:embed migrations/*
|
||||||
var dbMigrations embed.FS
|
var dbMigrations embed.FS
|
||||||
|
|
||||||
func New(filename string) (*sqlx.DB, error) {
|
func Connect(filename string) error {
|
||||||
db, err := sqlx.Open("sqlite3", filename)
|
DB, err := sqlx.Open("sqlite3", filename)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
migrations := migrate.EmbedFileSystemMigrationSource{
|
migrations := migrate.EmbedFileSystemMigrationSource{
|
||||||
|
|
@ -24,13 +26,13 @@ func New(filename string) (*sqlx.DB, error) {
|
||||||
Root: "migrations",
|
Root: "migrations",
|
||||||
}
|
}
|
||||||
|
|
||||||
n, err := migrate.Exec(db.DB, "sqlite3", migrations, migrate.Up)
|
n, err := migrate.Exec(DB.DB, "sqlite3", migrations, migrate.Up)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Printf("Applied %d migrations - Database is ready!\n", n)
|
fmt.Printf("Applied %d migrations - Database is ready!\n", n)
|
||||||
|
|
||||||
return db, err
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
21
main.go
21
main.go
|
|
@ -1,31 +1,36 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"freed/internal/api"
|
||||||
"freed/internal/database"
|
"freed/internal/database"
|
||||||
"log"
|
"log"
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
|
"github.com/gofiber/fiber/v2/middleware/logger"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
dbFile = "./freed.db"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
_, err := database.New("./freed.db")
|
err := database.Connect(dbFile)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Could not initialize database: %v", err)
|
log.Fatalf("Could not initialize database: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
app := fiber.New()
|
app := fiber.New()
|
||||||
|
app.Use(logger.New())
|
||||||
// Routes
|
app.Get("/", func(ctx *fiber.Ctx) error {
|
||||||
app.Get("/status", func(c *fiber.Ctx) error {
|
return ctx.JSON(&fiber.Map{
|
||||||
c.JSON(fiber.Map{
|
|
||||||
"application": "freed",
|
"application": "freed",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"status": "up",
|
"status": "running",
|
||||||
})
|
})
|
||||||
return c.SendStatus(http.StatusOK)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
api.Setup(app)
|
||||||
|
|
||||||
app.Listen(":42069")
|
app.Listen(":42069")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue