summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/main.go b/main.go
index e623ed6..0c84456 100644
--- a/main.go
+++ b/main.go
@@ -1,6 +1,7 @@
package main
import (
+ "database/sql"
_ "embed"
"log"
"net/http"
@@ -10,17 +11,20 @@ import (
"time"
"github.com/gorilla/mux"
+ _ "github.com/mattn/go-sqlite3"
)
const (
Addr = "127.0.0.1:8000"
ReadTimeout = 15 * time.Second
WriteTimeout = 15 * time.Second
+ DatabasePath = "/var/lib/finserv/main.sqlite3"
)
//go:embed VERSION.txt
var versionTxt string
var router *mux.Router = mux.NewRouter()
+var db *sql.DB
func init() {
log.SetFlags(0)
@@ -33,6 +37,7 @@ func main() {
WriteTimeout,
ReadTimeout,
[]syscall.Signal{syscall.SIGTERM, syscall.SIGINT},
+ DatabasePath,
)
}
@@ -42,10 +47,23 @@ func run(
wTimeout time.Duration,
rTimeout time.Duration,
signals []syscall.Signal,
+ dbPath string,
) {
log.Println("finserv finance server was started.")
defer log.Println("finserv finance server was stopped.")
+ var err error
+ db, err = sql.Open("sqlite3", dbPath)
+ if err != nil {
+ log.Fatalf("Failed to open SQLite3 database '%s': %v", dbPath, err)
+ }
+ defer db.Close()
+
+ err = MigrateToLatest(db)
+ if err != nil {
+ log.Fatalf("Failed to migrate SQLite3 database '%s': %v", dbPath, err)
+ }
+
server := &http.Server{
Handler: handler,
Addr: addr,