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 '' ); `) }