diff --git a/go.mod b/go.mod index 0812781..7ddb76e 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,7 @@ require ( github.com/gin-contrib/cors v1.7.2 github.com/gin-gonic/gin v1.10.0 github.com/go-sql-driver/mysql v1.8.1 + github.com/joho/godotenv v1.5.1 ) require ( diff --git a/go.sum b/go.sum index 3b39290..0769675 100644 --- a/go.sum +++ b/go.sum @@ -35,6 +35,8 @@ github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PU github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= diff --git a/main.go b/main.go index 83c0be9..95ceff2 100644 --- a/main.go +++ b/main.go @@ -11,6 +11,7 @@ import ( "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" "github.com/go-sql-driver/mysql" + "github.com/joho/godotenv" "log101-blog-services/middleware" ) @@ -67,6 +68,11 @@ func countEmojis(postId string) ([]EmojiCount, error) { } func main() { + err := godotenv.Load() + if err != nil { + log.Fatal("Error loading .env file") + } + mysqlHost := os.Getenv("DBHOST") cfg := mysql.Config{ User: os.Getenv("DBUSER"), @@ -75,8 +81,7 @@ func main() { Addr: mysqlHost + ":3306", DBName: "emojis", } - // Get a database handle. - var err error + db, err = sql.Open("mysql", cfg.FormatDSN()) if err != nil { log.Fatal(err) diff --git a/schema.sql b/schema.sql index 4e4d3c7..079be16 100644 --- a/schema.sql +++ b/schema.sql @@ -5,8 +5,9 @@ USE emojis; CREATE TABLE IF NOT EXISTS emoji_clicks ( id INT PRIMARY KEY AUTO_INCREMENT, - user_anon_data VARCHAR(50) UNIQUE, - post_id TEXT NOT NULL, + user_anon_data VARCHAR(50), + post_id VARCHAR(50) NOT NULL, emoji TEXT NOT NULL, - created_at DATETIME DEFAULT CURRENT_TIMESTAMP + created_at DATETIME DEFAULT CURRENT_TIMESTAMP, + UNIQUE(`post_id`, `user_anon_data`) );