53 lines
993 B
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")
|
|
}
|
|
}
|