From 5ae7d467120c47567d812adab575e9d55da8aeed Mon Sep 17 00:00:00 2001 From: charymalloju Date: Wed, 18 Oct 2023 21:46:54 +0530 Subject: [PATCH] add import schema --- server/server.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/server/server.go b/server/server.go index 04bd63b8e..fad99b249 100644 --- a/server/server.go +++ b/server/server.go @@ -3,7 +3,9 @@ package main import ( + "io/ioutil" "net/http" + "os" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" @@ -49,6 +51,34 @@ func main() { log.Fatal(err) } + if len(os.Args) > 1 { + // Read the SQL file + sqlFile, err := ioutil.ReadFile("schema/schema.sql") + if err != nil { + log.Fatal(err) + } + + // Start a transaction + tx, err := db.Begin() + if err != nil { + log.Fatal(err) + } + + // Execute the contents of the SQL file + _, err = tx.Exec(string(sqlFile)) + if err != nil { + tx.Rollback() + log.Fatal(err) + } + + // Commit the transaction + err = tx.Commit() + if err != nil { + log.Fatal(err) + } + + } + // Initialize handler h := &handler.Handler{DB: db}