47 lines
1.4 KiB
Go
47 lines
1.4 KiB
Go
package db
|
|
|
|
import (
|
|
"database/sql"
|
|
"errors"
|
|
|
|
//Import this driver to be used by the SQL package.
|
|
_ "github.com/mattn/go-sqlite3"
|
|
)
|
|
|
|
var db *sql.DB
|
|
|
|
var ErrNotFound = errors.New("db: the requested entry was not found")
|
|
var ErrAlreadyExists = errors.New("db: attempting to write to an entry that already exists")
|
|
|
|
func init() {
|
|
var err error
|
|
db, err = sql.Open("sqlite3", "terraocean.db")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
_, err = db.Exec("CREATE TABLE IF NOT EXISTS invite (code TEXT, owner TEXT, used BOOLEAN)")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
_, err = db.Exec("CREATE TABLE IF NOT EXISTS vote (id INTEGER PRIMARY KEY, messageId TEXT, name TEXT, type TEXT, finished BOOLEAN, UNIQUE(id))")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
_, err = db.Exec("CREATE TABLE IF NOT EXISTS choices (voteId INTEGER, userId INTEGER, date TIMEDATE, value INTEGER, UNIQUE(voteId, userId))")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
_, err = db.Exec("CREATE TABLE IF NOT EXISTS trustVote (sourceUser INTEGER, targetUser INTEGER, lastUpdated TIMEDATE, trust INTEGER, UNIQUE(sourceUser, targetUser))")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
_, err = db.Exec("CREATE TABLE IF NOT EXISTS minecraftUsername (discordId TEXT, minecraftUsername TEXT, UNIQUE(discordId), UNIQUE(minecraftUsername))")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
_, err = db.Exec("CREATE TABLE IF NOT EXISTS activeLevel (id TEXT, level INTEGER, UNIQUE(id))")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|