From 41a46c7c6c1559b583ff54fc841081126f11e5b3 Mon Sep 17 00:00:00 2001 From: Redume Date: Sun, 18 Sep 2022 19:28:38 +0300 Subject: [PATCH] add db --- functions/database.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 functions/database.go diff --git a/functions/database.go b/functions/database.go new file mode 100644 index 0000000..266655f --- /dev/null +++ b/functions/database.go @@ -0,0 +1,42 @@ +package functions + +import ( + "database/sql" + _ "github.com/mattn/go-sqlite3" +) + +func Database() { + db, openErr := sql.Open("sqlite3", "EveryNasa.db") + if openErr != nil { + panic(openErr) + } + + var exists bool + QueryErr := db.QueryRow("SELECT EXISTS(SELECT name FROM sqlite_master WHERE type='table' AND name='settings')").Scan(&exists) + if QueryErr != nil { + panic(QueryErr) + } + + if exists == false { + sqlTable := ` + CREATE TABLE IF NOT EXISTS settings ( + lang TEXT DEFAULT 'en', + autostart INTEGER DEFAULT 0, + autoupdate INTEGER DEFAULT 0 + );` + _, CreateTableErr := db.Exec(sqlTable) + if CreateTableErr != nil { + panic(CreateTableErr) + } + + stmt, InsertErr := db.Prepare("INSERT INTO settings(lang, autostart, autoupdate) values(?,?,?)") + if InsertErr != nil { + panic(InsertErr) + } + + _, ExecErr := stmt.Exec("en", 0, 0) + if ExecErr != nil { + panic(ExecErr) + } + } +}