122 lines
3.3 KiB
SQL
122 lines
3.3 KiB
SQL
-- +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
|