package db import ( "database/sql" "log" _ "modernc.org/sqlite" ) var Pool *sql.DB func init() { pool, err := sql.Open("sqlite", "mydb.sqlite") if err != nil { log.Fatal(err) } Pool = pool mustExec(` CREATE TABLE IF NOT EXISTS series ( id INTEGER PRIMARY KEY AUTOINCREMENT, code TEXT NOT NULL, title TEXT NOT NULL, released TEXT NOT NULL, webImg TEXT NOT NULL, poster TEXT NOT NULL, year TEXT NOT NULL ); `) mustExec(` CREATE TABLE IF NOT EXISTS movies ( id INTEGER PRIMARY KEY AUTOINCREMENT, code TEXT NOT NULL, title TEXT NOT NULL, released TEXT NOT NULL, webImg TEXT NOT NULL, poster TEXT NOT NULL, year TEXT NOT NULL ); `) mustExec(` CREATE TABLE IF NOT EXISTS games ( id INTEGER PRIMARY KEY AUTOINCREMENT, code TEXT NOT NULL, title TEXT NOT NULL, released TEXT NOT NULL, webImg TEXT NOT NULL, poster TEXT NOT NULL, year TEXT NOT NULL ); `) mustExec(` CREATE TABLE IF NOT EXISTS userData ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, value TEXT NOT NULL ); `) insertKeys() } func mustExec(query string) { if _, err := Pool.Exec(query); err != nil { log.Fatal(err) } } func insertKeys() { var count int if err := Pool.QueryRow("SELECT count(*) FROM userData;").Scan(&count); err != nil { log.Println(err) return } if count >= 4 { return } stmt, err := Pool.Prepare("INSERT INTO userData (name, value) VALUES (?, ?)") if err != nil { log.Println(err) return } defer stmt.Close() stmt.Exec("pass", "") stmt.Exec("omdb_key", "") stmt.Exec("twitch_client_id", "") stmt.Exec("twitch_client_secret", "") }