c6c6f0233d
* Expand the linters and types of warnings to improve consistency and safety * Fail lint workflow if there are errors * golint has been replaced by revive * Hand-pick some of the default exclude list * Ignore error when trying to delete preview gif * Ignore linter warning opening playlist path * Rename user field Id -> ID * A bunch of renames to address linter warnings * Rename ChatClient -> Client per linter suggestion best practice * Rename ChatServer -> Server per linter suggestion best practice * More linter warning fixes * Add missing comments to all exported functions and properties
34 lines
878 B
Go
34 lines
878 B
Go
package data
|
|
|
|
import (
|
|
"database/sql"
|
|
|
|
log "github.com/sirupsen/logrus"
|
|
)
|
|
|
|
// CreateMessagesTable will create the chat messages table if needed.
|
|
func CreateMessagesTable(db *sql.DB) {
|
|
createTableSQL := `CREATE TABLE IF NOT EXISTS messages (
|
|
"id" string NOT NULL,
|
|
"user_id" INTEGER,
|
|
"body" TEXT,
|
|
"eventType" TEXT,
|
|
"hidden_at" DATETIME,
|
|
"timestamp" DATETIME,
|
|
PRIMARY KEY (id)
|
|
);CREATE INDEX index ON messages (id, user_id, hidden_at, timestamp);
|
|
CREATE INDEX id ON messages (id);
|
|
CREATE INDEX user_id ON messages (user_id);
|
|
CREATE INDEX hidden_at ON messages (hidden_at);
|
|
CREATE INDEX timestamp ON messages (timestamp);`
|
|
|
|
stmt, err := db.Prepare(createTableSQL)
|
|
if err != nil {
|
|
log.Fatal("error creating chat messages table", err)
|
|
}
|
|
defer stmt.Close()
|
|
if _, err := stmt.Exec(); err != nil {
|
|
log.Fatal("error creating chat messages table", err)
|
|
}
|
|
}
|