Files
website/storage/db.go
2025-03-24 22:22:30 +00:00

56 lines
1.2 KiB
Go

package storage
import (
"database/sql"
"log"
_ "modernc.org/sqlite"
)
func InitDB(filepath string) *sql.DB {
db, err := sql.Open("sqlite", filepath)
if err != nil {
log.Fatal("❌ Failed to open DB:", err)
}
// Thunderball results table
createThunderballResultsTable := `
CREATE TABLE IF NOT EXISTS results_thunderball (
id INTEGER PRIMARY KEY AUTOINCREMENT,
draw_date TEXT NOT NULL UNIQUE,
machine TEXT,
ballset TEXT,
ball1 INTEGER,
ball2 INTEGER,
ball3 INTEGER,
ball4 INTEGER,
ball5 INTEGER,
thunderball INTEGER
);`
// MyTickets — flexible, multi-game ticket storage
createMyTickets := `
CREATE TABLE IF NOT EXISTS my_tickets (
id INTEGER PRIMARY KEY AUTOINCREMENT,
game_type TEXT NOT NULL,
draw_date TEXT NOT NULL,
ball1 INTEGER,
ball2 INTEGER,
ball3 INTEGER,
ball4 INTEGER,
ball5 INTEGER,
bonus1 INTEGER,
bonus2 INTEGER,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);`
if _, err := db.Exec(createThunderballResultsTable); err != nil {
log.Fatal("❌ Failed to create Thunderball table:", err)
}
if _, err := db.Exec(createMyTickets); err != nil {
log.Fatal("❌ Failed to create MyTickets table:", err)
}
return db
}