1
0

73 lines
2.5 KiB
Go

package common
import (
"time"
"zombiezen.com/go/sqlite"
"zombiezen.com/go/sqlite/sqlitex"
)
// Represents a bug report in the database.
type Bug struct {
ID int64 `db:"id"`
Status string `db:"Status"`
WorldID int32 `db:"world_id"`
AccountID int32 `db:"account_id"`
Player string `db:"player"`
Category string `db:"category"`
Subcategory string `db:"subcategory"`
CausesCrash string `db:"causes_crash"`
Reproducible string `db:"reproducible"`
Summary string `db:"summary"`
Description string `db:"description"`
Version string `db:"version"`
SpawnName string `db:"spawn_name"`
SpawnID int32 `db:"spawn_id"`
BugDatetime time.Time `db:"bug_datetime"`
ZoneID int32 `db:"zone_id"`
AssignToForumID *int32 `db:"assign_to_forum_id"`
FixedByForumID int32 `db:"fixed_by_forum_id"`
ForumID int32 `db:"forum_id"`
PostID int32 `db:"post_id"`
Priority int8 `db:"priority"`
BugUpdated int32 `db:"bug_updated"`
BugType int8 `db:"bug_type"`
Copied int32 `db:"copied"`
DBVersion int32 `db:"dbversion"`
WorldVersion string `db:"worldversion"`
}
// Creates a new bugs table in the database.
func CreateBugsTable(conn *sqlite.Conn) error {
return sqlitex.ExecScript(conn, `
CREATE TABLE IF NOT EXISTS bugs (
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
Status TEXT NOT NULL DEFAULT 'New',
world_id INTEGER NOT NULL DEFAULT 0,
account_id INTEGER NOT NULL DEFAULT 0,
player TEXT NOT NULL DEFAULT ' ',
category TEXT NOT NULL DEFAULT ' ',
subcategory TEXT NOT NULL DEFAULT ' ',
causes_crash TEXT NOT NULL DEFAULT ' ',
reproducible TEXT NOT NULL DEFAULT ' ',
summary TEXT NOT NULL DEFAULT ' ',
description TEXT NOT NULL,
version TEXT NOT NULL DEFAULT ' ',
spawn_name TEXT NOT NULL DEFAULT 'N/A',
spawn_id INTEGER NOT NULL DEFAULT 0,
bug_datetime TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
zone_id INTEGER NOT NULL DEFAULT 0,
assign_to_forum_id INTEGER DEFAULT 0,
fixed_by_forum_id INTEGER NOT NULL DEFAULT 0,
forum_id INTEGER NOT NULL DEFAULT 0,
post_id INTEGER NOT NULL DEFAULT 0,
priority INTEGER NOT NULL DEFAULT 0,
bug_updated INTEGER NOT NULL DEFAULT 0,
bug_type INTEGER NOT NULL DEFAULT 0,
copied INTEGER NOT NULL DEFAULT 0,
dbversion INTEGER NOT NULL DEFAULT 0,
worldversion TEXT NOT NULL DEFAULT ''
);
`)
}