gin_http/db/db.go

53 lines
993 B
Go

package db
import (
"database/sql"
"fmt"
_ "github.com/mattn/go-sqlite3"
)
var Conn *sql.DB
func InitDB(db *sql.DB) {
db, err := sql.Open("sqlite3", "test.sqlite")
if err != nil {
panic("Could not connect to database")
}
db.SetMaxOpenConns(10)
db.SetMaxIdleConns(3)
Conn = db
initializeSchema(db)
}
func initializeSchema(db *sql.DB) {
createEventsTable := `CREATE TABLE IF NOT EXISTS events (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
description TEXT NOT NULL,
location TEXT NOT NULL,
dateTime DATETIME NOT NULL,
user_id INTEGER NOT NULL
)`
_, err := db.Exec(createEventsTable)
if err != nil {
fmt.Println(err)
panic("Could not create events table")
}
createUserTable := `CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
email TEXT NOT NULL,
name TEXT NOT NULL,
password TEXT NOT NULL
)`
_, err = db.Exec(createUserTable)
if err != nil {
fmt.Println(err)
panic("Could not create users table")
}
}