-- +goose Up -- +goose StatementBegin SELECT 'up SQL query'; CREATE TABLE Articles ( ID INTEGER PRIMARY KEY AUTOINCREMENT, CreatedAt DATETIME NOT NULL, LastUpdated DATETIME NOT NULL, DeletedAt DATETIME, SourceId NUMBER NOT NULL, Tags TEXT NOT NULL, Title TEXT NOT NULL, Url TEXT NOT NULL, PubDate DATETIME NOT NULL, Video TEXT, VideoHeight int NOT NULL, VideoWidth int NOT NULL, Thumbnail TEXT NOT NULL, Description TEXT NOT NULL, AuthorName TEXT, AuthorImageUrl TEXT ); CREATE Table DiscordQueue ( ID INTEGER PRIMARY KEY AUTOINCREMENT, CreatedAt DATETIME NOT NULL, UpdatedAt DATETIME NOT NULL, DeletedAt DATETIME, ArticleId NUMBER NOT NULL, SourceId NUMBER NOT NULL ); CREATE Table DiscordWebHooks ( ID INTEGER PRIMARY KEY AUTOINCREMENT, CreatedAt DATETIME NOT NULL, UpdatedAt DATETIME NOT NULL, DeletedAt DATETIME, --Name TEXT NOT NULL, -- Defines webhook purpose --Key TEXT, Url TEXT NOT NULL, -- Webhook Url Server TEXT NOT NULL, -- Defines the server its bound it. Used for refrence Channel TEXT NOT NULL, -- Defines the channel its bound to. Used for refrence Enabled BOOLEAN NOT NULL ); CREATE Table Icons ( ID INTEGER PRIMARY KEY AUTOINCREMENT, CreatedAt DATETIME NOT NULL, UpdatedAt DATETIME NOT NULL, DeletedAt DATETIME, FileName TEXT NOT NULL, Site TEXT NOT NULL ); Create Table Settings ( ID INTEGER PRIMARY KEY AUTOINCREMENT, CreatedAt DATETIME NOT NULL, UpdatedAt DATETIME NOT NULL, DeletedAt DATETIME, Key TEXT NOT NULL, -- How you search for a entry Value TEXT NOT NULL, -- The value for one Options TEXT -- any notes about the entry ); CREATE Table Sources ( ID INTEGER PRIMARY KEY AUTOINCREMENT, CreatedAt DATETIME NOT NULL, UpdatedAt DATETIME NOT NULL, DeletedAt DATETIME, Site TEXT NOT NULL, -- Vanity name Name TEXT NOT NULL, -- Defines the name of the source. IE: dadjokes Source TEXT NOT NULL, -- Defines the service that will use this reocrd. IE reddit or youtube Type TEXT NOT NULL, -- Defines what kind of feed this is. feed, user, tag Value TEXT, Enabled BOOLEAN NOT NULL, Url TEXT NOT NULL, Tags TEXT NOT NULL ); CREATE TABLE Subscriptions ( ID INTEGER PRIMARY KEY AUTOINCREMENT, CreatedAt DATETIME NOT NULL, UpdatedAt DATETIME NOT NULL, DeletedAt DATETIME, DiscordWebHookId NUMBER NOT NULL, SourceId NUMBER NOT NULL ); CREATE TABLE Users ( ID INTEGER PRIMARY KEY AUTOINCREMENT, CreatedAt DATETIME NOT NULL, UpdatedAt DATETIME NOT NULL, DeletedAt DATETIME, Name TEXT NOT NULL, Hash TEXT NOT NULL, Scopes TEXT NOT NULL ); CREATE TABLE RefreshTokens ( ID INTEGER PRIMARY KEY AUTOINCREMENT, CreatedAt DATETIME NOT NULL, UpdatedAt DATETIME NOT NULL, DeletedAt DATETIME, Username TEXT NOT NULL, Token TEXT NOT NULL ); -- +goose StatementEnd -- +goose Down -- +goose StatementBegin Drop Table Articles; Drop Table DiscordQueue; Drop Table DiscordWebHooks; Drop Table Icons; Drop Table Settings; Drop Table Sources; DROP TABLE Subscriptions; DROP TABLE Users; DROP TABLE RefreshTokens; -- +goose StatementEnd