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") } }