mail based rss feed aggregator
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

add unique constraints all over

ollie f201e28c a2cfbc0b

+14 -10
+7 -5
db/migrations/20260331190734_initialize.sql
··· 16 16 -- migrate:up 17 17 CREATE TABLE users 18 18 ( 19 - id uuid PRIMARY KEY NOT NULL, 20 - email TEXT NOT NULL 19 + id uuid PRIMARY KEY NOT NULL UNIQUE, 20 + email TEXT NOT NULL UNIQUE 21 21 ); 22 22 23 23 CREATE TABLE subscriptions ··· 25 25 user_id uuid NOT NULL, 26 26 feed_id uuid NOT NULL, 27 27 FOREIGN KEY(user_id) REFERENCES users(id), 28 - FOREIGN KEY(feed_id) REFERENCES feeds(id) 28 + FOREIGN KEY(feed_id) REFERENCES feeds(id), 29 + UNIQUE(user_id, feed_id) 29 30 ); 30 31 31 32 CREATE TABLE feeds 32 33 ( 33 34 id uuid PRIMARY KEY NOT NULL, 34 - link TEXT NOT NULL, 35 + link TEXT NOT NULL UNIQUE, 35 36 skip_n_times INT NOT NULL, 36 37 failed_n_times INT NOT NULL 37 38 ); ··· 40 41 ( 41 42 user_id uuid NOT NULL, 42 43 link_to_post TEXT NOT NULL, 43 - FOREIGN KEY (user_id) REFERENCES users (id) 44 + FOREIGN KEY (user_id) REFERENCES users (id), 45 + UNIQUE(user_id, link_to_post) 44 46 ); 45 47 46 48
+7 -5
db/schema.sql
··· 1 1 CREATE TABLE IF NOT EXISTS "schema_migrations" (version varchar(128) primary key); 2 2 CREATE TABLE users 3 3 ( 4 - id uuid PRIMARY KEY NOT NULL, 5 - email TEXT NOT NULL 4 + id uuid PRIMARY KEY NOT NULL UNIQUE, 5 + email TEXT NOT NULL UNIQUE 6 6 ); 7 7 CREATE TABLE subscriptions 8 8 ( 9 9 user_id uuid NOT NULL, 10 10 feed_id uuid NOT NULL, 11 11 FOREIGN KEY(user_id) REFERENCES users(id), 12 - FOREIGN KEY(feed_id) REFERENCES feeds(id) 12 + FOREIGN KEY(feed_id) REFERENCES feeds(id), 13 + UNIQUE(user_id, feed_id) 13 14 ); 14 15 CREATE TABLE feeds 15 16 ( 16 17 id uuid PRIMARY KEY NOT NULL, 17 - link TEXT NOT NULL, 18 + link TEXT NOT NULL UNIQUE, 18 19 skip_n_times INT NOT NULL, 19 20 failed_n_times INT NOT NULL 20 21 ); ··· 22 23 ( 23 24 user_id uuid NOT NULL, 24 25 link_to_post TEXT NOT NULL, 25 - FOREIGN KEY (user_id) REFERENCES users (id) 26 + FOREIGN KEY (user_id) REFERENCES users (id), 27 + UNIQUE(user_id, link_to_post) 26 28 ); 27 29 -- Dbmate schema migrations 28 30 INSERT INTO "schema_migrations" (version) VALUES