Parakeet is a Rust-based Bluesky AppServer aiming to implement most of the functionality required to support the Bluesky client
appview atproto bluesky rust appserver
69
fork

Configure Feed

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

fix!: finally fix the dodgy postgate/threadgate foreign keys

+21 -2
+1
diesel.toml
··· 4 4 [print_schema] 5 5 file = "parakeet-db/src/schema.rs" 6 6 custom_type_derives = ["diesel::query_builder::QueryId"] 7 + patch_file = "fk.patch" 7 8 8 9 [migrations_directory] 9 10 dir = "migrations"
+18
fk.patch
··· 1 + diff --git a/parakeet-db/src/schema.rs b/parakeet-db/src/schema.rs 2 + index 59f65d9..a4219d5 100644 3 + --- a/parakeet-db/src/schema.rs 4 + +++ b/parakeet-db/src/schema.rs 5 + @@ -364,11 +364,13 @@ diesel::joinable!(post_embed_images -> posts (post_uri)); 6 + diesel::joinable!(post_embed_record -> posts (post_uri)); 7 + diesel::joinable!(post_embed_video -> posts (post_uri)); 8 + diesel::joinable!(post_embed_video_captions -> posts (post_uri)); 9 + +diesel::joinable!(postgates -> posts (post_uri)); 10 + diesel::joinable!(posts -> actors (did)); 11 + diesel::joinable!(profiles -> actors (did)); 12 + diesel::joinable!(reposts -> actors (did)); 13 + diesel::joinable!(starterpacks -> actors (owner)); 14 + diesel::joinable!(statuses -> actors (did)); 15 + +diesel::joinable!(threadgates -> posts (post_uri)); 16 + diesel::joinable!(verification -> actors (verifier)); 17 + 18 + diesel::allow_tables_to_appear_in_same_query!(
+2 -2
migrations/2025-02-16-142357_posts/up.sql
··· 103 103 ( 104 104 at_uri text primary key, 105 105 cid text not null, 106 - post_uri text not null references posts (at_uri) on delete cascade deferrable, 106 + post_uri text not null, 107 107 108 108 detached text[] not null, 109 109 rules text[] not null, ··· 120 120 ( 121 121 at_uri text primary key, 122 122 cid text not null, 123 - post_uri text not null references posts (at_uri) on delete cascade deferrable, 123 + post_uri text not null, 124 124 125 125 hidden_replies text[] not null, 126 126 allow text[] not null,