embedded schema.sql
This commit is contained in:
@@ -1,22 +1,29 @@
|
|||||||
package database
|
package database
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"GoMembership/internal/config"
|
|
||||||
"GoMembership/pkg/logger"
|
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
|
"GoMembership/internal/config"
|
||||||
|
"GoMembership/pkg/logger"
|
||||||
|
|
||||||
|
"embed"
|
||||||
|
|
||||||
_ "github.com/mattn/go-sqlite3"
|
_ "github.com/mattn/go-sqlite3"
|
||||||
)
|
)
|
||||||
|
|
||||||
func initializeDB(dbPath string, schemaPath string) error {
|
//go:embed schema.sql
|
||||||
|
var fs embed.FS
|
||||||
|
|
||||||
|
func initializeDB(dbPath string) error {
|
||||||
|
|
||||||
db, err := sql.Open("sqlite3", dbPath)
|
db, err := sql.Open("sqlite3", dbPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
defer db.Close()
|
defer db.Close()
|
||||||
|
|
||||||
schema, err := os.ReadFile(schemaPath)
|
schema, err := fs.ReadFile("schema.sql")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -30,7 +37,7 @@ func initializeDB(dbPath string, schemaPath string) error {
|
|||||||
func Connect(DBcfg config.DatabaseConfig) *sql.DB {
|
func Connect(DBcfg config.DatabaseConfig) *sql.DB {
|
||||||
_, err := os.Stat(DBcfg.DBPath)
|
_, err := os.Stat(DBcfg.DBPath)
|
||||||
if os.IsNotExist(err) {
|
if os.IsNotExist(err) {
|
||||||
initErr := initializeDB(DBcfg.DBPath, "internal/database/schema.sql")
|
initErr := initializeDB(DBcfg.DBPath)
|
||||||
if initErr != nil {
|
if initErr != nil {
|
||||||
logger.Error.Fatalf("Couldn't create database: %v", initErr)
|
logger.Error.Fatalf("Couldn't create database: %v", initErr)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ func LoggerMiddleware(next http.Handler) http.Handler {
|
|||||||
return http.HandlerFunc(
|
return http.HandlerFunc(
|
||||||
func(w http.ResponseWriter, r *http.Request) {
|
func(w http.ResponseWriter, r *http.Request) {
|
||||||
start := time.Now()
|
start := time.Now()
|
||||||
next.ServeHTTP(w, r)
|
|
||||||
logger.Info.Printf("%s %s %s", r.Method, r.RequestURI, time.Since(start))
|
logger.Info.Printf("%s %s %s", r.Method, r.RequestURI, time.Since(start))
|
||||||
|
next.ServeHTTP(w, r)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user