73 lines
2.5 KiB
Go
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 ''
|
|
);
|
|
`)
|
|
}
|