From e508d753ce6fda8181150f0afc064949752edc1b Mon Sep 17 00:00:00 2001 From: Kato Twofold Date: Sun, 15 May 2022 15:21:21 +0300 Subject: [PATCH] * Corrections --- db/migrations/000001_posts.up.sql | 2 +- src/controllers/post/post.go | 11 ++++++++++- src/go.mod | 5 ++++- src/go.sum | 2 ++ src/models/database/database.go | 30 ++++++++++++++++++++++++++++++ src/rundev.sh | 1 + 6 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 src/models/database/database.go create mode 100755 src/rundev.sh diff --git a/db/migrations/000001_posts.up.sql b/db/migrations/000001_posts.up.sql index 37b365c..57082d5 100644 --- a/db/migrations/000001_posts.up.sql +++ b/db/migrations/000001_posts.up.sql @@ -1,5 +1,5 @@ CREATE TABLE IF NOT EXISTS `t_posts` ( - `id` INT(11) NOT NULL, + `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(256) NOT NULL DEFAULT '' COLLATE 'latin1_swedish_ci', `content` MEDIUMTEXT NOT NULL COLLATE 'latin1_swedish_ci', `ts` DATETIME NOT NULL DEFAULT current_timestamp(), diff --git a/src/controllers/post/post.go b/src/controllers/post/post.go index 1e01afa..4eec91b 100644 --- a/src/controllers/post/post.go +++ b/src/controllers/post/post.go @@ -1,12 +1,21 @@ package post -import "errors" +import ( + "errors" + + "github.com/JustKato/FreePad/models/database" +) var postList []*Post = []*Post{} var postMap map[string]Post = make(map[string]Post) func GetPostList() []*Post { + + db := database.GetConn() + + println(db) + return postList } diff --git a/src/go.mod b/src/go.mod index 0c368d5..521b30e 100644 --- a/src/go.mod +++ b/src/go.mod @@ -2,4 +2,7 @@ module github.com/JustKato/FreePad go 1.15 -require github.com/gin-gonic/gin v1.7.7 +require ( + github.com/gin-gonic/gin v1.7.7 + github.com/go-sql-driver/mysql v1.6.0 +) diff --git a/src/go.sum b/src/go.sum index 5ee9be1..4d062bd 100644 --- a/src/go.sum +++ b/src/go.sum @@ -13,6 +13,8 @@ github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD87 github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= diff --git a/src/models/database/database.go b/src/models/database/database.go new file mode 100644 index 0000000..79e9700 --- /dev/null +++ b/src/models/database/database.go @@ -0,0 +1,30 @@ +package database + +import ( + "database/sql" + "fmt" + "os" + "time" + + _ "github.com/go-sql-driver/mysql" +) + +func GetConn() *sql.DB { + + user := os.Getenv("MYSQL_USER") + password := os.Getenv("MYSQL_PASSWORD") + dbname := os.Getenv("MYSQL_DATABASE") + + db, err := sql.Open("mysql", fmt.Sprintf("%s:%s@/%s", user, password, dbname)) + + if err != nil { + panic(err) + } + + // Set options + db.SetConnMaxLifetime(time.Minute * 5) + db.SetMaxOpenConns(10) + db.SetMaxIdleConns(10) + + return db +} diff --git a/src/rundev.sh b/src/rundev.sh new file mode 100755 index 0000000..019e485 --- /dev/null +++ b/src/rundev.sh @@ -0,0 +1 @@ +export $(cat ../.env | xargs) && go run .