33 lines
934 B
Go
33 lines
934 B
Go
|
package am
|
||
|
|
||
|
var migration = `
|
||
|
CREATE TABLE IF NOT EXISTS users(
|
||
|
Username TEXT NOT NULL PRIMARY KEY,
|
||
|
Password TEXT NOT NULL,
|
||
|
Admin BOOLEAN NOT NULL DEFAULT FALSE
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS sources(
|
||
|
SourceID TEXT NOT NULL PRIMARY KEY,
|
||
|
Name TEXT NOT NULL UNIQUE,
|
||
|
APIKey TEXT NOT NULL UNIQUE,
|
||
|
Description TEXT NOT NULL,
|
||
|
LastSeenAt TIMESTAMP NOT NULL,
|
||
|
AlertTimeout BIGINT NOT NULL,
|
||
|
AlertedAt TIMESTAMP NOT NULL,
|
||
|
LogAction TEXT NOT NULL,
|
||
|
AlertAction TEXT NOT NULL
|
||
|
);
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS log(
|
||
|
LogID INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
|
SourceID TEXT NOT NULL REFERENCES sources(SourceID) ON DELETE CASCADE,
|
||
|
TS TIMESTAMP NOT NULL,
|
||
|
Alert BOOLEAN NOT NULL,
|
||
|
Text TEXT NOT NULL
|
||
|
);
|
||
|
|
||
|
CREATE INDEX IF NOT EXISTS log_ts_idx ON log(TS);
|
||
|
CREATE INDEX IF NOT EXISTS log_source_ts_idx ON log(SourceID, TS);
|
||
|
`
|