diff --git a/pkg/database/migrations/001_inital_database.sql b/pkg/database/migrations/001_inital_database.sql index 03932c9..1d4fe22 100644 --- a/pkg/database/migrations/001_inital_database.sql +++ b/pkg/database/migrations/001_inital_database.sql @@ -18,7 +18,7 @@ CREATE TYPE TagType AS ENUM ( CREATE TABLE "Post" ( - id CHAR(25) PRIMARY KEY, + id CHAR(25) PRIMARY KEY, rating Rating, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, @@ -28,9 +28,9 @@ CREATE TABLE "Post" CREATE TABLE "Source" ( id CHAR(25) PRIMARY KEY, - display_name TEXT NULL, - icon TEXT NULL, - domain TEXT NOT NULL UNIQUE, + display_name TEXT NULL, + icon TEXT NULL, + domain TEXT NOT NULL UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, deleted_at TIMESTAMP NULL @@ -47,7 +47,7 @@ CREATE TABLE "Tag" CREATE TABLE "User" ( - id TEXT PRIMARY KEY, + id TEXT PRIMARY KEY, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, deleted_at TIMESTAMP NULL @@ -57,7 +57,7 @@ CREATE TABLE "PostReference" ( post_id TEXT REFERENCES "Post" (id), source_id TEXT REFERENCES "Source" (id), - url TEXT NOT NULL, + url TEXT NOT NULL, full_file_url TEXT, preview_file_url TEXT, sample_file_url TEXT, @@ -79,16 +79,12 @@ CREATE TABLE "TagGroup" created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -CREATE TABLE "UserFavorites" -( - user_id TEXT REFERENCES "User" (id), - post_id TEXT REFERENCES "Post" (id), - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (user_id, post_id) -); - CREATE TABLE "UserSource" ( + id CHAR(25) PRIMARY KEY, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + deleted_at TIMESTAMP NULL NULL, user_id TEXT REFERENCES "User" (id), source_id TEXT REFERENCES "Source" (id), scrape_time_interval INT, @@ -97,10 +93,20 @@ CREATE TABLE "UserSource" last_scrape_time TIMESTAMP, account_validate BOOL DEFAULT FALSE, account_validation_key CHAR(25), - PRIMARY KEY (user_id, source_id), UNIQUE (source_id, account_username, account_id) ); +CREATE TABLE "UserFavorites" +( + id CHAR(25) PRIMARY KEY, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + deleted_at TIMESTAMP NULL NULL, + user_id TEXT REFERENCES "User" (id), + post_id TEXT REFERENCES "Post" (id), + user_source_id CHAR(25) REFERENCES "UserSource" (id) +); + CREATE TABLE "post_tags" ( post_id TEXT REFERENCES "Post" (id),