From de13c8151b6702d29d5a97842d679807dea577e7 Mon Sep 17 00:00:00 2001 From: Laura Hausmann Date: Sun, 7 Jan 2024 19:53:06 +0100 Subject: [PATCH] Rename keys --- .../Core/Database/DatabaseContext.cs | 431 +- .../20240107185214_RenameKeys.Designer.cs | 5963 +++++++++++++++++ .../Migrations/20240107185214_RenameKeys.cs | 3738 +++++++++++ .../DatabaseContextModelSnapshot.cs | 516 +- 4 files changed, 9981 insertions(+), 667 deletions(-) create mode 100644 Iceshrimp.Backend/Core/Database/Migrations/20240107185214_RenameKeys.Designer.cs create mode 100644 Iceshrimp.Backend/Core/Database/Migrations/20240107185214_RenameKeys.cs diff --git a/Iceshrimp.Backend/Core/Database/DatabaseContext.cs b/Iceshrimp.Backend/Core/Database/DatabaseContext.cs index c34618da..9e56b2fc 100644 --- a/Iceshrimp.Backend/Core/Database/DatabaseContext.cs +++ b/Iceshrimp.Backend/Core/Database/DatabaseContext.cs @@ -122,8 +122,6 @@ public class DatabaseContext : DbContext { .HasPostgresExtension("pg_trgm"); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_87873f5f5cc5c321a1306b2d18c"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the AbuseUserReport."); entity.Property(e => e.Forwarded).HasDefaultValue(false); entity.Property(e => e.ReporterHost).HasComment("[Denormalized]"); @@ -131,34 +129,25 @@ public class DatabaseContext : DbContext { entity.Property(e => e.TargetUserHost).HasComment("[Denormalized]"); entity.HasOne(d => d.Assignee).WithMany(p => p.AbuseUserReportAssignees) - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_08b883dd5fdd6f9c4c1572b36de"); + .OnDelete(DeleteBehavior.SetNull); - entity.HasOne(d => d.Reporter).WithMany(p => p.AbuseUserReportReporters) - .HasConstraintName("FK_04cc96756f89d0b7f9473e8cdf3"); + entity.HasOne(d => d.Reporter).WithMany(p => p.AbuseUserReportReporters); - entity.HasOne(d => d.TargetUser).WithMany(p => p.AbuseUserReportTargetUsers) - .HasConstraintName("FK_a9021cc2e1feb5f72d3db6e9f5f"); + entity.HasOne(d => d.TargetUser).WithMany(p => p.AbuseUserReportTargetUsers); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_f20f028607b2603deabd8182d12"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the AccessToken."); entity.Property(e => e.Fetched).HasDefaultValue(false); entity.Property(e => e.Permission).HasDefaultValueSql("'{}'::character varying[]"); entity.HasOne(d => d.App).WithMany(p => p.AccessTokens) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_a3ff16c90cc87a82a0b5959e560"); + .OnDelete(DeleteBehavior.Cascade); - entity.HasOne(d => d.User).WithMany(p => p.AccessTokens) - .HasConstraintName("FK_9949557d0e1b2c19e5344c171e9"); + entity.HasOne(d => d.User).WithMany(p => p.AccessTokens); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_e0ef0550174fd1099a308fd18a0"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the Announcement."); entity.Property(e => e.IsGoodNews).HasDefaultValue(false); entity.Property(e => e.ShowPopup).HasDefaultValue(false); @@ -166,20 +155,14 @@ public class DatabaseContext : DbContext { }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_4b90ad1f42681d97b2683890c5e"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the AnnouncementRead."); - entity.HasOne(d => d.Announcement).WithMany(p => p.AnnouncementReads) - .HasConstraintName("FK_603a7b1e7aa0533c6c88e9bfafe"); + entity.HasOne(d => d.Announcement).WithMany(p => p.AnnouncementReads); - entity.HasOne(d => d.User).WithMany(p => p.AnnouncementReads) - .HasConstraintName("FK_8288151386172b8109f7239ab28"); + entity.HasOne(d => d.User).WithMany(p => p.AnnouncementReads); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_c170b99775e1dccca947c9f2d5f"); - entity.Property(e => e.CaseSensitive).HasDefaultValue(false); entity.Property(e => e.CreatedAt).HasComment("The created date of the Antenna."); entity.Property(e => e.ExcludeKeywords).HasDefaultValueSql("'[]'::jsonb"); @@ -191,19 +174,15 @@ public class DatabaseContext : DbContext { entity.Property(e => e.WithReplies).HasDefaultValue(false); entity.HasOne(d => d.UserGroupMember).WithMany(p => p.Antennas) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_ccbf5a8c0be4511133dcc50ddeb"); + .OnDelete(DeleteBehavior.Cascade); - entity.HasOne(d => d.User).WithMany(p => p.Antennas).HasConstraintName("FK_6446c571a0e8d0f05f01c789096"); + entity.HasOne(d => d.User).WithMany(p => p.Antennas); entity.HasOne(d => d.UserList).WithMany(p => p.Antennas) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_709d7d32053d0dd7620f678eeb9"); + .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_9478629fc093d229df09e560aea"); - entity.Property(e => e.CallbackUrl).HasComment("The callbackUrl of the App."); entity.Property(e => e.CreatedAt).HasComment("The created date of the App."); entity.Property(e => e.Description).HasComment("The description of the App."); @@ -213,52 +192,39 @@ public class DatabaseContext : DbContext { entity.Property(e => e.UserId).HasComment("The owner ID."); entity.HasOne(d => d.User).WithMany(p => p.Apps) - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_3f5b0899ef90527a3462d7c2cb3"); + .OnDelete(DeleteBehavior.SetNull); }); modelBuilder.Entity(entity => { - entity.HasKey(e => new { e.Id, e.UserId }).HasName("PK_d0ba6786e093f1bcb497572a6b5"); - entity.Property(e => e.Challenge).HasComment("Hex-encoded sha256 hash of the challenge."); entity.Property(e => e.CreatedAt).HasComment("The date challenge was created for expiry purposes."); entity.Property(e => e.RegistrationChallenge) .HasDefaultValue(false) .HasComment("Indicates that the challenge is only for registration purposes if true to prevent the challenge for being used as authentication."); - entity.HasOne(d => d.User).WithMany(p => p.AttestationChallenges) - .HasConstraintName("FK_f1a461a618fa1755692d0e0d592"); + entity.HasOne(d => d.User).WithMany(p => p.AttestationChallenges); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_19354ed146424a728c1112a8cbf"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the AuthSession."); - entity.HasOne(d => d.App).WithMany(p => p.AuthSessions).HasConstraintName("FK_dbe037d4bddd17b03a1dc778dee"); + entity.HasOne(d => d.App).WithMany(p => p.AuthSessions); entity.HasOne(d => d.User).WithMany(p => p.AuthSessions) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_c072b729d71697f959bde66ade0"); + .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_e5d9a541cc1965ee7e048ea09dd"); - entity.Property(e => e.BlockeeId).HasComment("The blockee user ID."); entity.Property(e => e.BlockerId).HasComment("The blocker user ID."); entity.Property(e => e.CreatedAt).HasComment("The created date of the Blocking."); - entity.HasOne(d => d.Blockee).WithMany(p => p.BlockingBlockees) - .HasConstraintName("FK_2cd4a2743a99671308f5417759e"); + entity.HasOne(d => d.Blockee).WithMany(p => p.BlockingBlockees); - entity.HasOne(d => d.Blocker).WithMany(p => p.BlockingBlockers) - .HasConstraintName("FK_0627125f1a8a42c9a1929edb552"); + entity.HasOne(d => d.Blocker).WithMany(p => p.BlockingBlockers); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_590f33ee6ee7d76437acf362e39"); - entity.Property(e => e.BannerId).HasComment("The ID of banner Channel."); entity.Property(e => e.CreatedAt).HasComment("The created date of the Channel."); entity.Property(e => e.Description).HasComment("The description of the Channel."); @@ -272,66 +238,50 @@ public class DatabaseContext : DbContext { .HasComment("The count of users."); entity.HasOne(d => d.Banner).WithMany(p => p.Channels) - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_999da2bcc7efadbfe0e92d3bc19"); + .OnDelete(DeleteBehavior.SetNull); entity.HasOne(d => d.User).WithMany(p => p.Channels) - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_823bae55bd81b3be6e05cff4383"); + .OnDelete(DeleteBehavior.SetNull); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_8b104be7f7415113f2a02cd5bdd"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the ChannelFollowing."); entity.Property(e => e.FolloweeId).HasComment("The followee channel ID."); entity.Property(e => e.FollowerId).HasComment("The follower user ID."); - entity.HasOne(d => d.Followee).WithMany(p => p.ChannelFollowings) - .HasConstraintName("FK_0e43068c3f92cab197c3d3cd86e"); + entity.HasOne(d => d.Followee).WithMany(p => p.ChannelFollowings); - entity.HasOne(d => d.Follower).WithMany(p => p.ChannelFollowings) - .HasConstraintName("FK_6d8084ec9496e7334a4602707e1"); + entity.HasOne(d => d.Follower).WithMany(p => p.ChannelFollowings); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_44f7474496bcf2e4b741681146d"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the ChannelNotePin."); - entity.HasOne(d => d.Channel).WithMany(p => p.ChannelNotePins) - .HasConstraintName("FK_8125f950afd3093acb10d2db8a8"); + entity.HasOne(d => d.Channel).WithMany(p => p.ChannelNotePins); - entity.HasOne(d => d.Note).WithMany(p => p.ChannelNotePins) - .HasConstraintName("FK_10b19ef67d297ea9de325cd4502"); + entity.HasOne(d => d.Note).WithMany(p => p.ChannelNotePins); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_f0685dac8d4dd056d7255670b75"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the Clip."); entity.Property(e => e.Description).HasComment("The description of the Clip."); entity.Property(e => e.IsPublic).HasDefaultValue(false); entity.Property(e => e.Name).HasComment("The name of the Clip."); entity.Property(e => e.UserId).HasComment("The owner ID."); - entity.HasOne(d => d.User).WithMany(p => p.Clips).HasConstraintName("FK_2b5ec6c574d6802c94c80313fb2"); + entity.HasOne(d => d.User).WithMany(p => p.Clips); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_e94cda2f40a99b57e032a1a738b"); - entity.Property(e => e.ClipId).HasComment("The clip ID."); entity.Property(e => e.NoteId).HasComment("The note ID."); - entity.HasOne(d => d.Clip).WithMany(p => p.ClipNotes).HasConstraintName("FK_ebe99317bbbe9968a0c6f579adf"); + entity.HasOne(d => d.Clip).WithMany(p => p.ClipNotes); - entity.HasOne(d => d.Note).WithMany(p => p.ClipNotes).HasConstraintName("FK_a012eaf5c87c65da1deb5fdbfa3"); + entity.HasOne(d => d.Note).WithMany(p => p.ClipNotes); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_43ddaaaf18c9e68029b7cbb032e"); - entity.Property(e => e.Blurhash).HasComment("The BlurHash string."); entity.Property(e => e.Comment).HasComment("The comment of the DriveFile."); entity.Property(e => e.CreatedAt).HasComment("The created date of the DriveFile."); @@ -360,17 +310,13 @@ public class DatabaseContext : DbContext { entity.Property(e => e.WebpublicUrl).HasComment("The URL of the webpublic of the DriveFile."); entity.HasOne(d => d.Folder).WithMany(p => p.DriveFiles) - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_bb90d1956dafc4068c28aa7560a"); + .OnDelete(DeleteBehavior.SetNull); entity.HasOne(d => d.User).WithMany(p => p.DriveFiles) - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_860fa6f6c7df5bb887249fba22e"); + .OnDelete(DeleteBehavior.SetNull); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_7a0c089191f5ebdc214e0af808a"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the DriveFolder."); entity.Property(e => e.Name).HasComment("The name of the DriveFolder."); entity.Property(e => e.ParentId) @@ -378,17 +324,13 @@ public class DatabaseContext : DbContext { entity.Property(e => e.UserId).HasComment("The owner ID."); entity.HasOne(d => d.Parent).WithMany(p => p.InverseParent) - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_00ceffb0cdc238b3233294f08f2"); + .OnDelete(DeleteBehavior.SetNull); entity.HasOne(d => d.User).WithMany(p => p.DriveFolders) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_f4fc06e49c0171c85f1c48060d2"); + .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_df74ce05e24999ee01ea0bc50a3"); - entity.Property(e => e.Aliases).HasDefaultValueSql("'{}'::character varying[]"); entity.Property(e => e.Height).HasComment("Image height"); entity.Property(e => e.PublicUrl).HasDefaultValueSql("''::character varying"); @@ -396,8 +338,6 @@ public class DatabaseContext : DbContext { }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_53a9aa3725f7a3deb150b39dbfc"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the FollowRequest."); entity.Property(e => e.FolloweeHost).HasComment("[Denormalized]"); entity.Property(e => e.FolloweeId).HasComment("The followee user ID."); @@ -409,16 +349,12 @@ public class DatabaseContext : DbContext { entity.Property(e => e.FollowerSharedInbox).HasComment("[Denormalized]"); entity.Property(e => e.RequestId).HasComment("id of Follow Activity."); - entity.HasOne(d => d.Followee).WithMany(p => p.FollowRequestFollowees) - .HasConstraintName("FK_12c01c0d1a79f77d9f6c15fadd2"); + entity.HasOne(d => d.Followee).WithMany(p => p.FollowRequestFollowees); - entity.HasOne(d => d.Follower).WithMany(p => p.FollowRequestFollowers) - .HasConstraintName("FK_a7fd92dd6dc519e6fb435dd108f"); + entity.HasOne(d => d.Follower).WithMany(p => p.FollowRequestFollowers); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_c76c6e044bdf76ecf8bfb82a645"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the Following."); entity.Property(e => e.FolloweeHost).HasComment("[Denormalized]"); entity.Property(e => e.FolloweeId).HasComment("The followee user ID."); @@ -429,26 +365,18 @@ public class DatabaseContext : DbContext { entity.Property(e => e.FollowerInbox).HasComment("[Denormalized]"); entity.Property(e => e.FollowerSharedInbox).HasComment("[Denormalized]"); - entity.HasOne(d => d.Followee).WithMany(p => p.FollowingFollowees) - .HasConstraintName("FK_24e0042143a18157b234df186c3"); + entity.HasOne(d => d.Followee).WithMany(p => p.FollowingFollowees); - entity.HasOne(d => d.Follower).WithMany(p => p.FollowingFollowers) - .HasConstraintName("FK_6516c5a6f3c015b4eed39978be5"); + entity.HasOne(d => d.Follower).WithMany(p => p.FollowingFollowers); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_853ab02be39b8de45cd720cc15f"); + entity.HasOne(d => d.Post).WithMany(p => p.GalleryLikes); - entity.HasOne(d => d.Post).WithMany(p => p.GalleryLikes) - .HasConstraintName("FK_b1cb568bfe569e47b7051699fc8"); - - entity.HasOne(d => d.User).WithMany(p => p.GalleryLikes) - .HasConstraintName("FK_8fd5215095473061855ceb948cf"); + entity.HasOne(d => d.User).WithMany(p => p.GalleryLikes); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_8e90d7b6015f2c4518881b14753"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the GalleryPost."); entity.Property(e => e.FileIds).HasDefaultValueSql("'{}'::character varying[]"); entity.Property(e => e.IsSensitive) @@ -459,13 +387,10 @@ public class DatabaseContext : DbContext { entity.Property(e => e.UpdatedAt).HasComment("The updated date of the GalleryPost."); entity.Property(e => e.UserId).HasComment("The ID of author."); - entity.HasOne(d => d.User).WithMany(p => p.GalleryPosts) - .HasConstraintName("FK_985b836dddd8615e432d7043ddb"); + entity.HasOne(d => d.User).WithMany(p => p.GalleryPosts); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_cb36eb8af8412bfa978f1165d78"); - entity.Property(e => e.AttachedLocalUsersCount).HasDefaultValue(0); entity.Property(e => e.AttachedRemoteUsersCount).HasDefaultValue(0); entity.Property(e => e.AttachedUsersCount).HasDefaultValue(0); @@ -475,24 +400,16 @@ public class DatabaseContext : DbContext { }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.NoteId).HasName("PK_6ef86ec901b2017cbe82d3a8286"); - - entity.HasOne(d => d.Note).WithOne(p => p.HtmlNoteCacheEntry) - .HasConstraintName("FK_6ef86ec901b2017cbe82d3a8286"); + entity.HasOne(d => d.Note).WithOne(p => p.HtmlNoteCacheEntry); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.UserId).HasName("PK_920b9474e3c9cae3f3c37c057e1"); - entity.Property(e => e.Fields).HasDefaultValueSql("'[]'::jsonb"); - entity.HasOne(d => d.User).WithOne(p => p.HtmlUserCacheEntry) - .HasConstraintName("FK_920b9474e3c9cae3f3c37c057e1"); + entity.HasOne(d => d.User).WithOne(p => p.HtmlUserCacheEntry); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_eaf60e4a0c399c9935413e06474"); - entity.Property(e => e.CaughtAt).HasComment("The caught date of the Instance."); entity.Property(e => e.FollowersCount).HasDefaultValue(0); entity.Property(e => e.FollowingCount).HasDefaultValue(0); @@ -509,8 +426,6 @@ public class DatabaseContext : DbContext { }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_db398fd79dc95d0eb8c30456eaa"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the MessagingMessage."); entity.Property(e => e.GroupId).HasComment("The recipient group ID."); entity.Property(e => e.IsRead).HasDefaultValue(false); @@ -519,24 +434,18 @@ public class DatabaseContext : DbContext { entity.Property(e => e.UserId).HasComment("The sender user ID."); entity.HasOne(d => d.File).WithMany(p => p.MessagingMessages) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_535def119223ac05ad3fa9ef64b"); + .OnDelete(DeleteBehavior.Cascade); entity.HasOne(d => d.Group).WithMany(p => p.MessagingMessages) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_2c4be03b446884f9e9c502135be"); + .OnDelete(DeleteBehavior.Cascade); entity.HasOne(d => d.Recipient).WithMany(p => p.MessagingMessageRecipients) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_cac14a4e3944454a5ce7daa5142"); + .OnDelete(DeleteBehavior.Cascade); - entity.HasOne(d => d.User).WithMany(p => p.MessagingMessageUsers) - .HasConstraintName("FK_5377c307783fce2b6d352e1203b"); + entity.HasOne(d => d.User).WithMany(p => p.MessagingMessageUsers); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_c4c17a6c2bd7651338b60fc590b"); - entity.Property(e => e.AllowedHosts).HasDefaultValueSql("'{}'::character varying[]"); entity.Property(e => e.BlockedHosts).HasDefaultValueSql("'{}'::character varying[]"); entity.Property(e => e.CacheRemoteFiles).HasDefaultValue(false); @@ -591,31 +500,22 @@ public class DatabaseContext : DbContext { }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_d0adca6ecfd068db83e4526cc26"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the ModerationLog."); - entity.HasOne(d => d.User).WithMany(p => p.ModerationLogs) - .HasConstraintName("FK_a08ad074601d204e0f69da9a954"); + entity.HasOne(d => d.User).WithMany(p => p.ModerationLogs); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_2e92d06c8b5c602eeb27ca9ba48"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the Muting."); entity.Property(e => e.MuteeId).HasComment("The mutee user ID."); entity.Property(e => e.MuterId).HasComment("The muter user ID."); - entity.HasOne(d => d.Mutee).WithMany(p => p.MutingMutees) - .HasConstraintName("FK_ec96b4fed9dae517e0dbbe0675c"); + entity.HasOne(d => d.Mutee).WithMany(p => p.MutingMutees); - entity.HasOne(d => d.Muter).WithMany(p => p.MutingMuters) - .HasConstraintName("FK_93060675b4a79a577f31d260c67"); + entity.HasOne(d => d.Muter).WithMany(p => p.MutingMuters); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_96d0c172a4fba276b1bbed43058"); - entity.HasIndex(e => e.Mentions, "IDX_NOTE_MENTIONS").HasMethod("gin"); entity.HasIndex(e => e.Tags, "IDX_NOTE_TAGS").HasMethod("gin"); @@ -655,90 +555,66 @@ public class DatabaseContext : DbContext { entity.Property(e => e.VisibleUserIds).HasDefaultValueSql("'{}'::character varying[]"); entity.HasOne(d => d.Channel).WithMany(p => p.Notes) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_f22169eb10657bded6d875ac8f9"); + .OnDelete(DeleteBehavior.Cascade); entity.HasOne(d => d.Renote).WithMany(p => p.InverseRenote) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_52ccc804d7c69037d558bac4c96"); + .OnDelete(DeleteBehavior.Cascade); entity.HasOne(d => d.Reply).WithMany(p => p.InverseReply) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_17cb3553c700a4985dff5a30ff5"); + .OnDelete(DeleteBehavior.Cascade); - entity.HasOne(d => d.User).WithMany(p => p.Notes).HasConstraintName("FK_5b87d9d19127bd5d92026017a7b"); + entity.HasOne(d => d.User).WithMany(p => p.Notes); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_736fc6e0d4e222ecc6f82058e08"); - entity.Property(e => e.FileIds).HasDefaultValueSql("'{}'::character varying[]"); entity.Property(e => e.NoteId).HasComment("The ID of note."); entity.Property(e => e.UpdatedAt).HasComment("The updated date of the Note."); - entity.HasOne(d => d.Note).WithMany(p => p.NoteEdits).HasConstraintName("FK_702ad5ae993a672e4fbffbcd38c"); + entity.HasOne(d => d.Note).WithMany(p => p.NoteEdits); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_af0da35a60b9fa4463a62082b36"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the NoteFavorite."); - entity.HasOne(d => d.Note).WithMany(p => p.NoteFavorites) - .HasConstraintName("FK_0e00498f180193423c992bc4370"); + entity.HasOne(d => d.Note).WithMany(p => p.NoteFavorites); - entity.HasOne(d => d.User).WithMany(p => p.NoteFavorites) - .HasConstraintName("FK_47f4b1892f5d6ba8efb3057d81a"); + entity.HasOne(d => d.User).WithMany(p => p.NoteFavorites); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_767ec729b108799b587a3fcc9cf"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the NoteReaction."); - entity.HasOne(d => d.Note).WithMany(p => p.NoteReactions) - .HasConstraintName("FK_45145e4953780f3cd5656f0ea6a"); + entity.HasOne(d => d.Note).WithMany(p => p.NoteReactions); - entity.HasOne(d => d.User).WithMany(p => p.NoteReactions) - .HasConstraintName("FK_13761f64257f40c5636d0ff95ee"); + entity.HasOne(d => d.User).WithMany(p => p.NoteReactions); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_ec5936d94d1a0369646d12a3a47"); - - entity.HasOne(d => d.User).WithMany(p => p.NoteThreadMutings) - .HasConstraintName("FK_29c11c7deb06615076f8c95b80a"); + entity.HasOne(d => d.User).WithMany(p => p.NoteThreadMutings); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_1904eda61a784f57e6e51fa9c1f"); - entity.Property(e => e.NoteChannelId).HasComment("[Denormalized]"); entity.Property(e => e.NoteUserId).HasComment("[Denormalized]"); - entity.HasOne(d => d.Note).WithMany(p => p.NoteUnreads).HasConstraintName("FK_e637cba4dc4410218c4251260e4"); + entity.HasOne(d => d.Note).WithMany(p => p.NoteUnreads); - entity.HasOne(d => d.User).WithMany(p => p.NoteUnreads).HasConstraintName("FK_56b0166d34ddae49d8ef7610bb9"); + entity.HasOne(d => d.User).WithMany(p => p.NoteUnreads); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_49286fdb23725945a74aa27d757"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the NoteWatching."); entity.Property(e => e.NoteId).HasComment("The target Note ID."); entity.Property(e => e.NoteUserId).HasComment("[Denormalized]"); entity.Property(e => e.UserId).HasComment("The watcher ID."); - entity.HasOne(d => d.Note).WithMany(p => p.NoteWatchings) - .HasConstraintName("FK_03e7028ab8388a3f5e3ce2a8619"); + entity.HasOne(d => d.Note).WithMany(p => p.NoteWatchings); - entity.HasOne(d => d.User).WithMany(p => p.NoteWatchings) - .HasConstraintName("FK_b0134ec406e8d09a540f8182888"); + entity.HasOne(d => d.User).WithMany(p => p.NoteWatchings); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_705b6c7cdf9b2c2ff7ac7872cb7"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the Notification."); entity.Property(e => e.IsRead) .HasDefaultValue(false) @@ -748,32 +624,24 @@ public class DatabaseContext : DbContext { entity.Property(e => e.Type).HasComment("The type of the Notification."); entity.HasOne(d => d.AppAccessToken).WithMany(p => p.Notifications) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_e22bf6bda77b6adc1fd9e75c8c9"); + .OnDelete(DeleteBehavior.Cascade); entity.HasOne(d => d.FollowRequest).WithMany(p => p.Notifications) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_bd7fab507621e635b32cd31892c"); + .OnDelete(DeleteBehavior.Cascade); entity.HasOne(d => d.Note).WithMany(p => p.Notifications) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_769cb6b73a1efe22ddf733ac453"); + .OnDelete(DeleteBehavior.Cascade); - entity.HasOne(d => d.Notifiee).WithMany(p => p.NotificationNotifiees) - .HasConstraintName("FK_3c601b70a1066d2c8b517094cb9"); + entity.HasOne(d => d.Notifiee).WithMany(p => p.NotificationNotifiees); entity.HasOne(d => d.Notifier).WithMany(p => p.NotificationNotifiers) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_3b4e96eec8d36a8bbb9d02aa710"); + .OnDelete(DeleteBehavior.Cascade); entity.HasOne(d => d.UserGroupInvitation).WithMany(p => p.Notifications) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_8fe87814e978053a53b1beb7e98"); + .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_3256b97c0a3ee2d67240805dca4"); - entity.Property(e => e.ClientId).HasComment("The client id of the OAuth application"); entity.Property(e => e.ClientSecret).HasComment("The client secret of the OAuth application"); entity.Property(e => e.CreatedAt).HasComment("The created date of the OAuth application"); @@ -784,8 +652,6 @@ public class DatabaseContext : DbContext { }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_7e6a25a3cc4395d1658f5b89c73"); - entity.Property(e => e.Active).HasComment("Whether or not the token has been activated"); entity.Property(e => e.Code).HasComment("The auth code for the OAuth token"); entity.Property(e => e.CreatedAt).HasComment("The created date of the OAuth token"); @@ -793,14 +659,12 @@ public class DatabaseContext : DbContext { entity.Property(e => e.Scopes).HasComment("The scopes requested by the OAuth token"); entity.Property(e => e.Token).HasComment("The OAuth token"); - entity.HasOne(d => d.App).WithMany(p => p.OauthTokens).HasConstraintName("FK_6d3ef28ea647b1449ba79690874"); + entity.HasOne(d => d.App).WithMany(p => p.OauthTokens); - entity.HasOne(d => d.User).WithMany(p => p.OauthTokens).HasConstraintName("FK_f6b4b1ac66b753feab5d831ba04"); + entity.HasOne(d => d.User).WithMany(p => p.OauthTokens); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_742f4117e065c5b6ad21b37ba1f"); - entity.Property(e => e.Content).HasDefaultValueSql("'[]'::jsonb"); entity.Property(e => e.CreatedAt).HasComment("The created date of the Page."); entity.Property(e => e.HideTitleWhenPinned).HasDefaultValue(false); @@ -812,73 +676,55 @@ public class DatabaseContext : DbContext { entity.Property(e => e.VisibleUserIds).HasDefaultValueSql("'{}'::character varying[]"); entity.HasOne(d => d.EyeCatchingImage).WithMany(p => p.Pages) - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_a9ca79ad939bf06066b81c9d3aa"); + .OnDelete(DeleteBehavior.Cascade); - entity.HasOne(d => d.User).WithMany(p => p.Pages).HasConstraintName("FK_ae1d917992dd0c9d9bbdad06c4a"); + entity.HasOne(d => d.User).WithMany(p => p.Pages); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_813f034843af992d3ae0f43c64c"); + entity.HasOne(d => d.Page).WithMany(p => p.PageLikes); - entity.HasOne(d => d.Page).WithMany(p => p.PageLikes).HasConstraintName("FK_cf8782626dced3176038176a847"); - - entity.HasOne(d => d.User).WithMany(p => p.PageLikes).HasConstraintName("FK_0e61efab7f88dbb79c9166dbb48"); + entity.HasOne(d => d.User).WithMany(p => p.PageLikes); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_fcf4b02eae1403a2edaf87fd074"); - - entity.HasOne(d => d.User).WithMany(p => p.PasswordResetRequests) - .HasConstraintName("FK_4bb7fd4a34492ae0e6cc8d30ac8"); + entity.HasOne(d => d.User).WithMany(p => p.PasswordResetRequests); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.NoteId).HasName("PK_da851e06d0dfe2ef397d8b1bf1b"); - entity.Property(e => e.Choices).HasDefaultValueSql("'{}'::character varying[]"); entity.Property(e => e.UserHost).HasComment("[Denormalized]"); entity.Property(e => e.UserId).HasComment("[Denormalized]"); entity.Property(e => e.NoteVisibility).HasComment("[Denormalized]"); - entity.HasOne(d => d.Note).WithOne(p => p.Poll).HasConstraintName("FK_da851e06d0dfe2ef397d8b1bf1b"); + entity.HasOne(d => d.Note).WithOne(p => p.Poll); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_fd002d371201c472490ba89c6a0"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the PollVote."); - entity.HasOne(d => d.Note).WithMany(p => p.PollVotes).HasConstraintName("FK_aecfbd5ef60374918e63ee95fa7"); + entity.HasOne(d => d.Note).WithMany(p => p.PollVotes); - entity.HasOne(d => d.User).WithMany(p => p.PollVotes).HasConstraintName("FK_66d2bd2ee31d14bcc23069a89f8"); + entity.HasOne(d => d.User).WithMany(p => p.PollVotes); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.NoteId).HasName("PK_e263909ca4fe5d57f8d4230dd5c"); - entity.Property(e => e.UserId).HasComment("[Denormalized]"); - entity.HasOne(d => d.Note).WithOne(p => p.PromoNote).HasConstraintName("FK_e263909ca4fe5d57f8d4230dd5c"); + entity.HasOne(d => d.Note).WithOne(p => p.PromoNote); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_61917c1541002422b703318b7c9"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the PromoRead."); - entity.HasOne(d => d.Note).WithMany(p => p.PromoReads).HasConstraintName("FK_a46a1a603ecee695d7db26da5f4"); + entity.HasOne(d => d.Note).WithMany(p => p.PromoReads); - entity.HasOne(d => d.User).WithMany(p => p.PromoReads).HasConstraintName("FK_9657d55550c3d37bfafaf7d4b05"); + entity.HasOne(d => d.User).WithMany(p => p.PromoReads); }); - modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_f11696b6fafcf3662d4292734f8"); - }); + modelBuilder.Entity(entity => { }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_64b3f7e6008b4d89b826cd3af95"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the RegistryItem."); entity.Property(e => e.Key).HasComment("The key of the RegistryItem."); entity.Property(e => e.Scope).HasDefaultValueSql("'{}'::character varying[]"); @@ -888,61 +734,45 @@ public class DatabaseContext : DbContext { .HasDefaultValueSql("'{}'::jsonb") .HasComment("The value of the RegistryItem."); - entity.HasOne(d => d.User).WithMany(p => p.RegistryItems) - .HasConstraintName("FK_fb9d21ba0abb83223263df6bcb3"); + entity.HasOne(d => d.User).WithMany(p => p.RegistryItems); }); - modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PK_78ebc9cfddf4292633b7ba57aee"); }); + modelBuilder.Entity(entity => { }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_renoteMuting_id"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the Muting."); entity.Property(e => e.MuteeId).HasComment("The mutee user ID."); entity.Property(e => e.MuterId).HasComment("The muter user ID."); - entity.HasOne(d => d.Mutee).WithMany(p => p.RenoteMutingMutees) - .HasConstraintName("FK_7eac97594bcac5ffcf2068089b6"); + entity.HasOne(d => d.Mutee).WithMany(p => p.RenoteMutingMutees); - entity.HasOne(d => d.Muter).WithMany(p => p.RenoteMutingMuters) - .HasConstraintName("FK_7aa72a5fe76019bfe8e5e0e8b7d"); + entity.HasOne(d => d.Muter).WithMany(p => p.RenoteMutingMuters); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_f55da76ac1c3ac420f444d2ff11"); - entity.Property(e => e.Active) .HasComment("Whether or not the token has been activated (i.e. 2fa has been confirmed)"); entity.Property(e => e.CreatedAt).HasComment("The created date of the OAuth token"); entity.Property(e => e.Token).HasComment("The authorization token"); - entity.HasOne(d => d.User).WithMany(p => p.Sessions).HasConstraintName("FK_3d2f174ef04fb312fdebd0ddc53"); + entity.HasOne(d => d.User).WithMany(p => p.Sessions); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_9e96ddc025712616fc492b3b588"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the Signin."); - entity.HasOne(d => d.User).WithMany(p => p.Signins).HasConstraintName("FK_2c308dbdc50d94dc625670055f7"); + entity.HasOne(d => d.User).WithMany(p => p.Signins); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_e8f763631530051b95eb6279b91"); - entity.Property(e => e.SendReadMessage).HasDefaultValue(false); - entity.HasOne(d => d.User).WithMany(p => p.SwSubscriptions) - .HasConstraintName("FK_97754ca6f2baff9b4abb7f853dd"); + entity.HasOne(d => d.User).WithMany(p => p.SwSubscriptions); }); - modelBuilder.Entity(entity => { - entity.HasKey(e => e.Username).HasName("PK_78fd79d2d24c6ac2f4cc9a31a5d"); - }); + modelBuilder.Entity(entity => { }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_cace4a159ff9f2512dd42373760"); - entity.Property(e => e.AlsoKnownAs).HasComment("URIs the user is known as too"); entity.Property(e => e.AvatarBlurhash).HasComment("The blurhash of the avatar DriveFile"); entity.Property(e => e.AvatarId).HasComment("The ID of avatar DriveFile."); @@ -1016,71 +846,49 @@ public class DatabaseContext : DbContext { entity.Property(e => e.UsernameLower).HasComment("The username (lowercased) of the User."); entity.HasOne(d => d.Avatar).WithOne(p => p.UserAvatar) - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_58f5c71eaab331645112cf8cfa5"); + .OnDelete(DeleteBehavior.SetNull); entity.HasOne(d => d.Banner).WithOne(p => p.UserBanner) - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_afc64b53f8db3707ceb34eb28e2"); + .OnDelete(DeleteBehavior.SetNull); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_3c29fba6fe013ec8724378ce7c9"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the UserGroup."); entity.Property(e => e.IsPrivate).HasDefaultValue(false); entity.Property(e => e.UserId).HasComment("The ID of owner."); - entity.HasOne(d => d.User).WithMany(p => p.UserGroups).HasConstraintName("FK_3d6b372788ab01be58853003c93"); + entity.HasOne(d => d.User).WithMany(p => p.UserGroups); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_160c63ec02bf23f6a5c5e8140d6"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the UserGroupInvitation."); entity.Property(e => e.UserGroupId).HasComment("The group ID."); entity.Property(e => e.UserId).HasComment("The user ID."); - entity.HasOne(d => d.UserGroup).WithMany(p => p.UserGroupInvitations) - .HasConstraintName("FK_5cc8c468090e129857e9fecce5a"); + entity.HasOne(d => d.UserGroup).WithMany(p => p.UserGroupInvitations); - entity.HasOne(d => d.User).WithMany(p => p.UserGroupInvitations) - .HasConstraintName("FK_bfbc6305547539369fe73eb144a"); + entity.HasOne(d => d.User).WithMany(p => p.UserGroupInvitations); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_3893884af0d3a5f4d01e7921a97"); + entity.HasOne(d => d.UserGroup).WithMany(p => p.UserGroupInvites); - entity.HasOne(d => d.UserGroup).WithMany(p => p.UserGroupInvites) - .HasConstraintName("FK_e10924607d058004304611a436a"); - - entity.HasOne(d => d.User).WithMany(p => p.UserGroupInvites) - .HasConstraintName("FK_1039988afa3bf991185b277fe03"); + entity.HasOne(d => d.User).WithMany(p => p.UserGroupInvites); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_15f2425885253c5507e1599cfe7"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the UserGroupMember."); entity.Property(e => e.UserGroupId).HasComment("The group ID."); entity.Property(e => e.UserId).HasComment("The user ID."); - entity.HasOne(d => d.UserGroup).WithMany(p => p.UserGroupMembers) - .HasConstraintName("FK_67dc758bc0566985d1b3d399865"); + entity.HasOne(d => d.UserGroup).WithMany(p => p.UserGroupMembers); - entity.HasOne(d => d.User).WithMany(p => p.UserGroupMembers) - .HasConstraintName("FK_f3a1b4bd0c7cabba958a0c0b231"); + entity.HasOne(d => d.User).WithMany(p => p.UserGroupMembers); }); - modelBuilder.Entity(entity => { - entity.HasKey(e => e.UserId).HasName("PK_f4853eb41ab722fe05f81cedeb6"); - - entity.HasOne(d => d.User).WithOne(p => p.UserKeypair).HasConstraintName("FK_f4853eb41ab722fe05f81cedeb6"); - }); + modelBuilder.Entity(entity => { entity.HasOne(d => d.User).WithOne(p => p.UserKeypair); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_87bab75775fd9b1ff822b656402"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the UserList."); entity.Property(e => e.HideFromHomeTl) .HasDefaultValue(false) @@ -1088,42 +896,30 @@ public class DatabaseContext : DbContext { entity.Property(e => e.Name).HasComment("The name of the UserList."); entity.Property(e => e.UserId).HasComment("The owner ID."); - entity.HasOne(d => d.User).WithMany(p => p.UserLists).HasConstraintName("FK_b7fcefbdd1c18dce86687531f99"); + entity.HasOne(d => d.User).WithMany(p => p.UserLists); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_11abb3768da1c5f8de101c9df45"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the UserListMember."); entity.Property(e => e.UserId).HasComment("The user ID."); entity.Property(e => e.UserListId).HasComment("The list ID."); - entity.HasOne(d => d.User).WithMany(p => p.UserListMembers) - .HasConstraintName("FK_d844bfc6f3f523a05189076efaa"); + entity.HasOne(d => d.User).WithMany(p => p.UserListMembers); - entity.HasOne(d => d.UserList).WithMany(p => p.UserListMembers) - .HasConstraintName("FK_605472305f26818cc93d1baaa74"); + entity.HasOne(d => d.UserList).WithMany(p => p.UserListMembers); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_a6a2dad4ae000abce2ea9d9b103"); - entity.Property(e => e.CreatedAt).HasComment("The created date of the UserNotePins."); - entity.HasOne(d => d.Note).WithMany(p => p.UserNotePins) - .HasConstraintName("FK_68881008f7c3588ad7ecae471cf"); + entity.HasOne(d => d.Note).WithMany(p => p.UserNotePins); - entity.HasOne(d => d.User).WithMany(p => p.UserNotePins) - .HasConstraintName("FK_bfbc6f79ba4007b4ce5097f08d6"); + entity.HasOne(d => d.User).WithMany(p => p.UserNotePins); }); - modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_d4c84e013c98ec02d19b8fbbafa"); - }); + modelBuilder.Entity(entity => { }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.UserId).HasName("PK_51cb79b5555effaf7d69ba1cff9"); - entity.Property(e => e.AlwaysMarkNsfw).HasDefaultValue(false); entity.Property(e => e.AutoAcceptFollowed).HasDefaultValue(false); entity.Property(e => e.Birthday) @@ -1171,22 +967,14 @@ public class DatabaseContext : DbContext { .HasDefaultValue(UserProfile.UserProfileFFVisibility.Public); entity.HasOne(d => d.PinnedPage).WithOne(p => p.UserProfile) - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_6dc44f1ceb65b1e72bacef2ca27"); + .OnDelete(DeleteBehavior.SetNull); - entity.HasOne(d => d.User).WithOne(p => p.UserProfile).HasConstraintName("FK_51cb79b5555effaf7d69ba1cff9"); + entity.HasOne(d => d.User).WithOne(p => p.UserProfile); }); - modelBuilder.Entity(entity => { - entity.HasKey(e => e.UserId).HasName("PK_10c146e4b39b443ede016f6736d"); - - entity.HasOne(d => d.User).WithOne(p => p.UserPublickey) - .HasConstraintName("FK_10c146e4b39b443ede016f6736d"); - }); + modelBuilder.Entity(entity => { entity.HasOne(d => d.User).WithOne(p => p.UserPublickey); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_3e508571121ab39c5f85d10c166"); - entity.Property(e => e.Id).HasComment("Variable-length id given to navigator.credentials.get()"); entity.Property(e => e.LastUsed) .HasComment("The date of the last time the UserSecurityKey was successfully validated."); @@ -1194,20 +982,17 @@ public class DatabaseContext : DbContext { entity.Property(e => e.PublicKey) .HasComment("Variable-length public key used to verify attestations (hex-encoded)."); - entity.HasOne(d => d.User).WithMany(p => p.UserSecurityKeys) - .HasConstraintName("FK_ff9ca3b5f3ee3d0681367a9b447"); + entity.HasOne(d => d.User).WithMany(p => p.UserSecurityKeys); }); modelBuilder.Entity(entity => { - entity.HasKey(e => e.Id).HasName("PK_e6765510c2d078db49632b59020"); - entity.Property(e => e.Active).HasDefaultValue(true); entity.Property(e => e.CreatedAt).HasComment("The created date of the Antenna."); entity.Property(e => e.Name).HasComment("The name of the Antenna."); entity.Property(e => e.On).HasDefaultValueSql("'{}'::character varying[]"); entity.Property(e => e.UserId).HasComment("The owner ID."); - entity.HasOne(d => d.User).WithMany(p => p.Webhooks).HasConstraintName("FK_f272c8c8805969e6a6449c77b3c"); + entity.HasOne(d => d.User).WithMany(p => p.Webhooks); }); } } \ No newline at end of file diff --git a/Iceshrimp.Backend/Core/Database/Migrations/20240107185214_RenameKeys.Designer.cs b/Iceshrimp.Backend/Core/Database/Migrations/20240107185214_RenameKeys.Designer.cs new file mode 100644 index 00000000..9ad0912d --- /dev/null +++ b/Iceshrimp.Backend/Core/Database/Migrations/20240107185214_RenameKeys.Designer.cs @@ -0,0 +1,5963 @@ +// +using System; +using System.Collections.Generic; +using Iceshrimp.Backend.Core.Database; +using Iceshrimp.Backend.Core.Database.Tables; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Iceshrimp.Backend.Core.Database.Migrations +{ + [DbContext(typeof(DatabaseContext))] + [Migration("20240107185214_RenameKeys")] + partial class RenameKeys + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "antenna_src_enum", new[] { "home", "all", "users", "list", "group", "instances" }); + NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "note_visibility_enum", new[] { "public", "home", "followers", "specified", "hidden" }); + NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "notification_type_enum", new[] { "follow", "mention", "reply", "renote", "quote", "reaction", "pollVote", "pollEnded", "receiveFollowRequest", "followRequestAccepted", "groupInvited", "app" }); + NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "page_visibility_enum", new[] { "public", "followers", "specified" }); + NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "poll_notevisibility_enum", new[] { "public", "home", "followers", "specified", "hidden" }); + NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "relay_status_enum", new[] { "requesting", "accepted", "rejected" }); + NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "user_profile_ffvisibility_enum", new[] { "public", "followers", "private" }); + NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "user_profile_mutingnotificationtypes_enum", new[] { "follow", "mention", "reply", "renote", "quote", "reaction", "pollVote", "pollEnded", "receiveFollowRequest", "followRequestAccepted", "groupInvited", "app" }); + NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "pg_trgm"); + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AbuseUserReport", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("AssigneeId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("assigneeId"); + + b.Property("Comment") + .IsRequired() + .HasMaxLength(2048) + .HasColumnType("character varying(2048)") + .HasColumnName("comment"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the AbuseUserReport."); + + b.Property("Forwarded") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("forwarded"); + + b.Property("ReporterHost") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("reporterHost") + .HasComment("[Denormalized]"); + + b.Property("ReporterId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("reporterId"); + + b.Property("Resolved") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("resolved"); + + b.Property("TargetUserHost") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("targetUserHost") + .HasComment("[Denormalized]"); + + b.Property("TargetUserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("targetUserId"); + + b.HasKey("Id"); + + b.HasIndex("AssigneeId"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("ReporterHost"); + + b.HasIndex("ReporterId"); + + b.HasIndex("Resolved"); + + b.HasIndex("TargetUserHost"); + + b.HasIndex("TargetUserId"); + + b.ToTable("abuse_user_report"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AccessToken", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("AppId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("appId"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the AccessToken."); + + b.Property("Description") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("description"); + + b.Property("Fetched") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("fetched"); + + b.Property("Hash") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("hash"); + + b.Property("IconUrl") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("iconUrl"); + + b.Property("LastUsedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("lastUsedAt"); + + b.Property("Name") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("name"); + + b.Property>("Permission") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(64)[]") + .HasColumnName("permission") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("Session") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("session"); + + b.Property("Token") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("token"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("AppId"); + + b.HasIndex("Hash"); + + b.HasIndex("Session"); + + b.HasIndex("Token"); + + b.HasIndex("UserId"); + + b.ToTable("access_token"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Announcement", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the Announcement."); + + b.Property("ImageUrl") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)") + .HasColumnName("imageUrl"); + + b.Property("IsGoodNews") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isGoodNews"); + + b.Property("ShowPopup") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("showPopup"); + + b.Property("Text") + .IsRequired() + .HasMaxLength(8192) + .HasColumnType("character varying(8192)") + .HasColumnName("text"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("title"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("updatedAt") + .HasComment("The updated date of the Announcement."); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.ToTable("announcement"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AnnouncementRead", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("AnnouncementId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("announcementId"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the AnnouncementRead."); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("AnnouncementId"); + + b.HasIndex("UserId"); + + b.HasIndex("UserId", "AnnouncementId") + .IsUnique(); + + b.ToTable("announcement_read"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Antenna", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CaseSensitive") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("caseSensitive"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the Antenna."); + + b.Property("ExcludeKeywords") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("excludeKeywords") + .HasDefaultValueSql("'[]'::jsonb"); + + b.Property("Expression") + .HasMaxLength(2048) + .HasColumnType("character varying(2048)") + .HasColumnName("expression"); + + b.Property("Instances") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("instances") + .HasDefaultValueSql("'[]'::jsonb"); + + b.Property("Keywords") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("keywords") + .HasDefaultValueSql("'[]'::jsonb"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("name") + .HasComment("The name of the Antenna."); + + b.Property("Notify") + .HasColumnType("boolean") + .HasColumnName("notify"); + + b.Property("Source") + .HasColumnType("antenna_src_enum") + .HasColumnName("src"); + + b.Property("UserGroupMemberId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("UserGroupMemberId"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The owner ID."); + + b.Property("UserListId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userListId"); + + b.Property>("Users") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(1024)[]") + .HasColumnName("users") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("WithFile") + .HasColumnType("boolean") + .HasColumnName("withFile"); + + b.Property("WithReplies") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("withReplies"); + + b.HasKey("Id"); + + b.HasIndex("UserGroupMemberId"); + + b.HasIndex("UserId"); + + b.HasIndex("UserListId"); + + b.ToTable("antenna"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.App", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CallbackUrl") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("callbackUrl") + .HasComment("The callbackUrl of the App."); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the App."); + + b.Property("Description") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("description") + .HasComment("The description of the App."); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("name") + .HasComment("The name of the App."); + + b.Property>("Permission") + .IsRequired() + .HasColumnType("character varying(64)[]") + .HasColumnName("permission") + .HasComment("The permission of the App."); + + b.Property("Secret") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("secret") + .HasComment("The secret key of the App."); + + b.Property("UserId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The owner ID."); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("Secret"); + + b.HasIndex("UserId"); + + b.ToTable("app"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AttestationChallenge", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("UserId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.Property("Challenge") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("challenge") + .HasComment("Hex-encoded sha256 hash of the challenge."); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The date challenge was created for expiry purposes."); + + b.Property("RegistrationChallenge") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("registrationChallenge") + .HasComment("Indicates that the challenge is only for registration purposes if true to prevent the challenge for being used as authentication."); + + b.HasKey("Id", "UserId"); + + b.HasIndex("Challenge"); + + b.HasIndex("UserId"); + + b.ToTable("attestation_challenge"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AuthSession", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("AppId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("appId"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the AuthSession."); + + b.Property("Token") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("token"); + + b.Property("UserId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("AppId"); + + b.HasIndex("Token"); + + b.HasIndex("UserId"); + + b.ToTable("auth_session"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Blocking", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("BlockeeId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("blockeeId") + .HasComment("The blockee user ID."); + + b.Property("BlockerId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("blockerId") + .HasComment("The blocker user ID."); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the Blocking."); + + b.HasKey("Id"); + + b.HasIndex("BlockeeId"); + + b.HasIndex("BlockerId"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("BlockerId", "BlockeeId") + .IsUnique(); + + b.ToTable("blocking"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Channel", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("BannerId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("bannerId") + .HasComment("The ID of banner Channel."); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the Channel."); + + b.Property("Description") + .HasMaxLength(2048) + .HasColumnType("character varying(2048)") + .HasColumnName("description") + .HasComment("The description of the Channel."); + + b.Property("LastNotedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("lastNotedAt"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("name") + .HasComment("The name of the Channel."); + + b.Property("NotesCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("notesCount") + .HasComment("The count of notes."); + + b.Property("UserId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The owner ID."); + + b.Property("UsersCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("usersCount") + .HasComment("The count of users."); + + b.HasKey("Id"); + + b.HasIndex("BannerId"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("LastNotedAt"); + + b.HasIndex("NotesCount"); + + b.HasIndex("UserId"); + + b.HasIndex("UsersCount"); + + b.ToTable("channel"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ChannelFollowing", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the ChannelFollowing."); + + b.Property("FolloweeId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("followeeId") + .HasComment("The followee channel ID."); + + b.Property("FollowerId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("followerId") + .HasComment("The follower user ID."); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("FolloweeId"); + + b.HasIndex("FollowerId"); + + b.HasIndex("FollowerId", "FolloweeId") + .IsUnique(); + + b.ToTable("channel_following"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ChannelNotePin", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("ChannelId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("channelId"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the ChannelNotePin."); + + b.Property("NoteId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteId"); + + b.HasKey("Id"); + + b.HasIndex("ChannelId"); + + b.HasIndex("NoteId"); + + b.HasIndex("ChannelId", "NoteId") + .IsUnique(); + + b.ToTable("channel_note_pin"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Clip", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the Clip."); + + b.Property("Description") + .HasMaxLength(2048) + .HasColumnType("character varying(2048)") + .HasColumnName("description") + .HasComment("The description of the Clip."); + + b.Property("IsPublic") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isPublic"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("name") + .HasComment("The name of the Clip."); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The owner ID."); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("clip"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ClipNote", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("ClipId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("clipId") + .HasComment("The clip ID."); + + b.Property("NoteId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteId") + .HasComment("The note ID."); + + b.HasKey("Id"); + + b.HasIndex("ClipId"); + + b.HasIndex("NoteId"); + + b.HasIndex("NoteId", "ClipId") + .IsUnique(); + + b.ToTable("clip_note"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.DriveFile", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("AccessKey") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("accessKey"); + + b.Property("Blurhash") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("blurhash") + .HasComment("The BlurHash string."); + + b.Property("Comment") + .HasMaxLength(8192) + .HasColumnType("character varying(8192)") + .HasColumnName("comment") + .HasComment("The comment of the DriveFile."); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the DriveFile."); + + b.Property("FolderId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("folderId") + .HasComment("The parent folder ID. If null, it means the DriveFile is located in root."); + + b.Property("IsLink") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isLink") + .HasComment("Whether the DriveFile is direct link to remote server."); + + b.Property("IsSensitive") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isSensitive") + .HasComment("Whether the DriveFile is NSFW."); + + b.Property("Md5") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("md5") + .HasComment("The MD5 hash of the DriveFile."); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("name") + .HasComment("The file name of the DriveFile."); + + b.Property("Properties") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("properties") + .HasDefaultValueSql("'{}'::jsonb") + .HasComment("The any properties of the DriveFile. For example, it includes image width/height."); + + b.Property("RequestHeaders") + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("requestHeaders") + .HasDefaultValueSql("'{}'::jsonb"); + + b.Property("RequestIp") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("requestIp"); + + b.Property("Size") + .HasColumnType("integer") + .HasColumnName("size") + .HasComment("The file size (bytes) of the DriveFile."); + + b.Property("Src") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("src"); + + b.Property("StoredInternal") + .HasColumnType("boolean") + .HasColumnName("storedInternal"); + + b.Property("ThumbnailAccessKey") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("thumbnailAccessKey"); + + b.Property("ThumbnailUrl") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("thumbnailUrl") + .HasComment("The URL of the thumbnail of the DriveFile."); + + b.Property("Type") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("type") + .HasComment("The content type (MIME) of the DriveFile."); + + b.Property("Uri") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("uri") + .HasComment("The URI of the DriveFile. it will be null when the DriveFile is local."); + + b.Property("Url") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("url") + .HasComment("The URL of the DriveFile."); + + b.Property("UserHost") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("userHost") + .HasComment("The host of owner. It will be null if the user in local."); + + b.Property("UserId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The owner ID."); + + b.Property("WebpublicAccessKey") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("webpublicAccessKey"); + + b.Property("WebpublicType") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("webpublicType"); + + b.Property("WebpublicUrl") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("webpublicUrl") + .HasComment("The URL of the webpublic of the DriveFile."); + + b.HasKey("Id"); + + b.HasIndex("AccessKey") + .IsUnique(); + + b.HasIndex("CreatedAt"); + + b.HasIndex("FolderId"); + + b.HasIndex("IsLink"); + + b.HasIndex("IsSensitive"); + + b.HasIndex("Md5"); + + b.HasIndex("ThumbnailAccessKey") + .IsUnique(); + + b.HasIndex("Type"); + + b.HasIndex("Uri"); + + b.HasIndex("UserHost"); + + b.HasIndex("UserId"); + + b.HasIndex("WebpublicAccessKey") + .IsUnique(); + + b.HasIndex("UserId", "FolderId", "Id"); + + b.ToTable("drive_file"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.DriveFolder", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the DriveFolder."); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("name") + .HasComment("The name of the DriveFolder."); + + b.Property("ParentId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("parentId") + .HasComment("The parent folder ID. If null, it means the DriveFolder is located in root."); + + b.Property("UserId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The owner ID."); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("ParentId"); + + b.HasIndex("UserId"); + + b.ToTable("drive_folder"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Emoji", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property>("Aliases") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(128)[]") + .HasColumnName("aliases") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("Category") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("category"); + + b.Property("Height") + .HasColumnType("integer") + .HasColumnName("height") + .HasComment("Image height"); + + b.Property("Host") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("host"); + + b.Property("License") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)") + .HasColumnName("license"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("name"); + + b.Property("OriginalUrl") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("originalUrl"); + + b.Property("PublicUrl") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("publicUrl") + .HasDefaultValueSql("''::character varying"); + + b.Property("Type") + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("type"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("updatedAt"); + + b.Property("Uri") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("uri"); + + b.Property("Width") + .HasColumnType("integer") + .HasColumnName("width") + .HasComment("Image width"); + + b.HasKey("Id"); + + b.HasIndex("Host"); + + b.HasIndex("Name"); + + b.HasIndex("Name", "Host") + .IsUnique(); + + b.ToTable("emoji"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.FollowRequest", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the FollowRequest."); + + b.Property("FolloweeHost") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("followeeHost") + .HasComment("[Denormalized]"); + + b.Property("FolloweeId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("followeeId") + .HasComment("The followee user ID."); + + b.Property("FolloweeInbox") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("followeeInbox") + .HasComment("[Denormalized]"); + + b.Property("FolloweeSharedInbox") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("followeeSharedInbox") + .HasComment("[Denormalized]"); + + b.Property("FollowerHost") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("followerHost") + .HasComment("[Denormalized]"); + + b.Property("FollowerId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("followerId") + .HasComment("The follower user ID."); + + b.Property("FollowerInbox") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("followerInbox") + .HasComment("[Denormalized]"); + + b.Property("FollowerSharedInbox") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("followerSharedInbox") + .HasComment("[Denormalized]"); + + b.Property("RequestId") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("requestId") + .HasComment("id of Follow Activity."); + + b.HasKey("Id"); + + b.HasIndex("FolloweeId"); + + b.HasIndex("FollowerId"); + + b.HasIndex("FollowerId", "FolloweeId") + .IsUnique(); + + b.ToTable("follow_request"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Following", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the Following."); + + b.Property("FolloweeHost") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("followeeHost") + .HasComment("[Denormalized]"); + + b.Property("FolloweeId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("followeeId") + .HasComment("The followee user ID."); + + b.Property("FolloweeInbox") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("followeeInbox") + .HasComment("[Denormalized]"); + + b.Property("FolloweeSharedInbox") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("followeeSharedInbox") + .HasComment("[Denormalized]"); + + b.Property("FollowerHost") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("followerHost") + .HasComment("[Denormalized]"); + + b.Property("FollowerId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("followerId") + .HasComment("The follower user ID."); + + b.Property("FollowerInbox") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("followerInbox") + .HasComment("[Denormalized]"); + + b.Property("FollowerSharedInbox") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("followerSharedInbox") + .HasComment("[Denormalized]"); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("FolloweeHost"); + + b.HasIndex("FolloweeId"); + + b.HasIndex("FollowerHost"); + + b.HasIndex("FollowerId"); + + b.HasIndex("FollowerId", "FolloweeId") + .IsUnique(); + + b.ToTable("following"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.GalleryLike", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt"); + + b.Property("PostId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("postId"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("PostId"); + + b.HasIndex("UserId"); + + b.HasIndex("UserId", "PostId") + .IsUnique(); + + b.ToTable("gallery_like"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.GalleryPost", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the GalleryPost."); + + b.Property("Description") + .HasMaxLength(2048) + .HasColumnType("character varying(2048)") + .HasColumnName("description"); + + b.Property>("FileIds") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(32)[]") + .HasColumnName("fileIds") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("IsSensitive") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isSensitive") + .HasComment("Whether the post is sensitive."); + + b.Property("LikedCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("likedCount"); + + b.Property>("Tags") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(128)[]") + .HasColumnName("tags") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("title"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("updatedAt") + .HasComment("The updated date of the GalleryPost."); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The ID of author."); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("FileIds"); + + b.HasIndex("IsSensitive"); + + b.HasIndex("LikedCount"); + + b.HasIndex("Tags"); + + b.HasIndex("UpdatedAt"); + + b.HasIndex("UserId"); + + b.ToTable("gallery_post"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Hashtag", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property>("AttachedLocalUserIds") + .IsRequired() + .HasColumnType("character varying(32)[]") + .HasColumnName("attachedLocalUserIds"); + + b.Property("AttachedLocalUsersCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("attachedLocalUsersCount"); + + b.Property>("AttachedRemoteUserIds") + .IsRequired() + .HasColumnType("character varying(32)[]") + .HasColumnName("attachedRemoteUserIds"); + + b.Property("AttachedRemoteUsersCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("attachedRemoteUsersCount"); + + b.Property>("AttachedUserIds") + .IsRequired() + .HasColumnType("character varying(32)[]") + .HasColumnName("attachedUserIds"); + + b.Property("AttachedUsersCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("attachedUsersCount"); + + b.Property>("MentionedLocalUserIds") + .IsRequired() + .HasColumnType("character varying(32)[]") + .HasColumnName("mentionedLocalUserIds"); + + b.Property("MentionedLocalUsersCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("mentionedLocalUsersCount"); + + b.Property>("MentionedRemoteUserIds") + .IsRequired() + .HasColumnType("character varying(32)[]") + .HasColumnName("mentionedRemoteUserIds"); + + b.Property("MentionedRemoteUsersCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("mentionedRemoteUsersCount"); + + b.Property>("MentionedUserIds") + .IsRequired() + .HasColumnType("character varying(32)[]") + .HasColumnName("mentionedUserIds"); + + b.Property("MentionedUsersCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("mentionedUsersCount"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("name"); + + b.HasKey("Id"); + + b.HasIndex("AttachedLocalUsersCount"); + + b.HasIndex("AttachedRemoteUsersCount"); + + b.HasIndex("AttachedUsersCount"); + + b.HasIndex("MentionedLocalUsersCount"); + + b.HasIndex("MentionedRemoteUsersCount"); + + b.HasIndex("MentionedUsersCount"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("hashtag"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.HtmlNoteCacheEntry", b => + { + b.Property("NoteId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteId"); + + b.Property("Content") + .HasColumnType("text") + .HasColumnName("content"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("updatedAt"); + + b.HasKey("NoteId"); + + b.ToTable("html_note_cache_entry"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.HtmlUserCacheEntry", b => + { + b.Property("UserId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.Property("Bio") + .HasColumnType("text") + .HasColumnName("bio"); + + b.Property("Fields") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("fields") + .HasDefaultValueSql("'[]'::jsonb"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("updatedAt"); + + b.HasKey("UserId"); + + b.ToTable("html_user_cache_entry"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Instance", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CaughtAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("caughtAt") + .HasComment("The caught date of the Instance."); + + b.Property("Description") + .HasMaxLength(4096) + .HasColumnType("character varying(4096)") + .HasColumnName("description"); + + b.Property("FaviconUrl") + .HasMaxLength(4096) + .HasColumnType("character varying(4096)") + .HasColumnName("faviconUrl"); + + b.Property("FollowersCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("followersCount"); + + b.Property("FollowingCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("followingCount"); + + b.Property("Host") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("host") + .HasComment("The host of the Instance."); + + b.Property("IconUrl") + .HasMaxLength(4096) + .HasColumnType("character varying(4096)") + .HasColumnName("iconUrl"); + + b.Property("InfoUpdatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("infoUpdatedAt"); + + b.Property("IsNotResponding") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isNotResponding"); + + b.Property("IsSuspended") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isSuspended"); + + b.Property("LastCommunicatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("lastCommunicatedAt"); + + b.Property("LatestRequestReceivedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("latestRequestReceivedAt"); + + b.Property("LatestRequestSentAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("latestRequestSentAt"); + + b.Property("LatestStatus") + .HasColumnType("integer") + .HasColumnName("latestStatus"); + + b.Property("MaintainerEmail") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("maintainerEmail"); + + b.Property("MaintainerName") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("maintainerName"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("name"); + + b.Property("NotesCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("notesCount") + .HasComment("The count of the notes of the Instance."); + + b.Property("OpenRegistrations") + .HasColumnType("boolean") + .HasColumnName("openRegistrations"); + + b.Property("SoftwareName") + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("softwareName") + .HasComment("The software of the Instance."); + + b.Property("SoftwareVersion") + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("softwareVersion"); + + b.Property("ThemeColor") + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("themeColor"); + + b.Property("UsersCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("usersCount") + .HasComment("The count of the users of the Instance."); + + b.HasKey("Id"); + + b.HasIndex("CaughtAt"); + + b.HasIndex("Host") + .IsUnique(); + + b.HasIndex("IsSuspended"); + + b.ToTable("instance"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.MessagingMessage", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the MessagingMessage."); + + b.Property("FileId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("fileId"); + + b.Property("GroupId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("groupId") + .HasComment("The recipient group ID."); + + b.Property("IsRead") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isRead"); + + b.Property>("Reads") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(32)[]") + .HasColumnName("reads") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("RecipientId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("recipientId") + .HasComment("The recipient user ID."); + + b.Property("Text") + .HasMaxLength(4096) + .HasColumnType("character varying(4096)") + .HasColumnName("text"); + + b.Property("Uri") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("uri"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The sender user ID."); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("FileId"); + + b.HasIndex("GroupId"); + + b.HasIndex("RecipientId"); + + b.HasIndex("UserId"); + + b.ToTable("messaging_message"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Meta", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property>("AllowedHosts") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(256)[]") + .HasColumnName("allowedHosts") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("AutofollowedAccount") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("autofollowedAccount"); + + b.Property("BackgroundImageUrl") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("backgroundImageUrl"); + + b.Property("BannerUrl") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("bannerUrl"); + + b.Property>("BlockedHosts") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(256)[]") + .HasColumnName("blockedHosts") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("CacheRemoteFiles") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("cacheRemoteFiles"); + + b.Property>("CustomMotd") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(256)[]") + .HasColumnName("customMOTD") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property>("CustomSplashIcons") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(256)[]") + .HasColumnName("customSplashIcons") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("DeeplAuthKey") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("deeplAuthKey"); + + b.Property("DeeplIsPro") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("deeplIsPro"); + + b.Property("DefaultDarkTheme") + .HasMaxLength(8192) + .HasColumnType("character varying(8192)") + .HasColumnName("defaultDarkTheme"); + + b.Property("DefaultLightTheme") + .HasMaxLength(8192) + .HasColumnType("character varying(8192)") + .HasColumnName("defaultLightTheme"); + + b.Property("DefaultReaction") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("defaultReaction") + .HasDefaultValueSql("'⭐'::character varying"); + + b.Property("Description") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)") + .HasColumnName("description"); + + b.Property("DisableGlobalTimeline") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("disableGlobalTimeline"); + + b.Property("DisableLocalTimeline") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("disableLocalTimeline"); + + b.Property("DisableRecommendedTimeline") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true) + .HasColumnName("disableRecommendedTimeline"); + + b.Property("DisableRegistration") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("disableRegistration"); + + b.Property("DiscordClientId") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("discordClientId"); + + b.Property("DiscordClientSecret") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("discordClientSecret"); + + b.Property("DonationLink") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("donationLink"); + + b.Property("Email") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("email"); + + b.Property("EmailRequiredForSignup") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("emailRequiredForSignup"); + + b.Property("EnableActiveEmailValidation") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true) + .HasColumnName("enableActiveEmailValidation"); + + b.Property("EnableDiscordIntegration") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("enableDiscordIntegration"); + + b.Property("EnableEmail") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("enableEmail"); + + b.Property("EnableGithubIntegration") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("enableGithubIntegration"); + + b.Property("EnableHcaptcha") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("enableHcaptcha"); + + b.Property("EnableIdenticonGeneration") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true) + .HasColumnName("enableIdenticonGeneration"); + + b.Property("EnableIpLogging") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("enableIpLogging"); + + b.Property("EnableRecaptcha") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("enableRecaptcha"); + + b.Property("EnableServerMachineStats") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("enableServerMachineStats"); + + b.Property("ErrorImageUrl") + .ValueGeneratedOnAdd() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("errorImageUrl") + .HasDefaultValueSql("'/static-assets/badges/error.png'::character varying"); + + b.Property("ExperimentalFeatures") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("experimentalFeatures") + .HasDefaultValueSql("'{}'::jsonb"); + + b.Property("FeedbackUrl") + .ValueGeneratedOnAdd() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("feedbackUrl") + .HasDefaultValueSql("'https://iceshrimp.dev/iceshrimp/iceshrimp/issues/new'::character varying"); + + b.Property("GithubClientId") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("githubClientId"); + + b.Property("GithubClientSecret") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("githubClientSecret"); + + b.Property("HcaptchaSecretKey") + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("hcaptchaSecretKey"); + + b.Property("HcaptchaSiteKey") + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("hcaptchaSiteKey"); + + b.Property>("HiddenTags") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(256)[]") + .HasColumnName("hiddenTags") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("IconUrl") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("iconUrl"); + + b.Property>("Langs") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(64)[]") + .HasColumnName("langs") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("LibreTranslateApiKey") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("libreTranslateApiKey"); + + b.Property("LibreTranslateApiUrl") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("libreTranslateApiUrl"); + + b.Property("LocalDriveCapacityMb") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(1024) + .HasColumnName("localDriveCapacityMb") + .HasComment("Drive capacity of a local user (MB)"); + + b.Property("LogoImageUrl") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("logoImageUrl"); + + b.Property("MaintainerEmail") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("maintainerEmail"); + + b.Property("MaintainerName") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("maintainerName"); + + b.Property("MascotImageUrl") + .ValueGeneratedOnAdd() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("mascotImageUrl") + .HasDefaultValueSql("'/static-assets/badges/info.png'::character varying"); + + b.Property("Name") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("name"); + + b.Property("ObjectStorageAccessKey") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("objectStorageAccessKey"); + + b.Property("ObjectStorageBaseUrl") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("objectStorageBaseUrl"); + + b.Property("ObjectStorageBucket") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("objectStorageBucket"); + + b.Property("ObjectStorageEndpoint") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("objectStorageEndpoint"); + + b.Property("ObjectStoragePort") + .HasColumnType("integer") + .HasColumnName("objectStoragePort"); + + b.Property("ObjectStoragePrefix") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("objectStoragePrefix"); + + b.Property("ObjectStorageRegion") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("objectStorageRegion"); + + b.Property("ObjectStorageS3forcePathStyle") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true) + .HasColumnName("objectStorageS3ForcePathStyle"); + + b.Property("ObjectStorageSecretKey") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("objectStorageSecretKey"); + + b.Property("ObjectStorageSetPublicRead") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("objectStorageSetPublicRead"); + + b.Property("ObjectStorageUseProxy") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true) + .HasColumnName("objectStorageUseProxy"); + + b.Property("ObjectStorageUseSsl") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true) + .HasColumnName("objectStorageUseSSL"); + + b.Property("PinnedClipId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("pinnedClipId"); + + b.Property>("PinnedPages") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(512)[]") + .HasColumnName("pinnedPages") + .HasDefaultValueSql("'{/featured,/channels,/explore,/pages,/about-iceshrimp}'::character varying[]"); + + b.Property>("PinnedUsers") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(256)[]") + .HasColumnName("pinnedUsers") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("PrivateMode") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("privateMode"); + + b.Property("RecaptchaSecretKey") + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("recaptchaSecretKey"); + + b.Property("RecaptchaSiteKey") + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("recaptchaSiteKey"); + + b.Property>("RecommendedInstances") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(256)[]") + .HasColumnName("recommendedInstances") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("RemoteDriveCapacityMb") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(32) + .HasColumnName("remoteDriveCapacityMb") + .HasComment("Drive capacity of a remote user (MB)"); + + b.Property("RepositoryUrl") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("repositoryUrl") + .HasDefaultValueSql("'https://iceshrimp.dev/iceshrimp/iceshrimp'::character varying"); + + b.Property("SecureMode") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true) + .HasColumnName("secureMode"); + + b.Property>("SilencedHosts") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(256)[]") + .HasColumnName("silencedHosts") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("SmtpHost") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("smtpHost"); + + b.Property("SmtpPass") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)") + .HasColumnName("smtpPass"); + + b.Property("SmtpPort") + .HasColumnType("integer") + .HasColumnName("smtpPort"); + + b.Property("SmtpSecure") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("smtpSecure"); + + b.Property("SmtpUser") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)") + .HasColumnName("smtpUser"); + + b.Property("SummalyProxy") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("summalyProxy"); + + b.Property("SwPrivateKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("swPrivateKey"); + + b.Property("SwPublicKey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("swPublicKey"); + + b.Property("ThemeColor") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("themeColor"); + + b.Property("ToSurl") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("ToSUrl"); + + b.Property("UseObjectStorage") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("useObjectStorage"); + + b.HasKey("Id"); + + b.ToTable("meta"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ModerationLog", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the ModerationLog."); + + b.Property("Info") + .IsRequired() + .HasColumnType("jsonb") + .HasColumnName("info"); + + b.Property("Type") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("type"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("moderation_log"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Muting", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the Muting."); + + b.Property("ExpiresAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("expiresAt"); + + b.Property("MuteeId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("muteeId") + .HasComment("The mutee user ID."); + + b.Property("MuterId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("muterId") + .HasComment("The muter user ID."); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("ExpiresAt"); + + b.HasIndex("MuteeId"); + + b.HasIndex("MuterId"); + + b.HasIndex("MuterId", "MuteeId") + .IsUnique(); + + b.ToTable("muting"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Note", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property>("AttachedFileTypes") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(256)[]") + .HasColumnName("attachedFileTypes") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("ChannelId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("channelId") + .HasComment("The ID of source channel."); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the Note."); + + b.Property("Cw") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("cw"); + + b.Property>("Emojis") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(128)[]") + .HasColumnName("emojis") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property>("FileIds") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(32)[]") + .HasColumnName("fileIds") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("HasPoll") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("hasPoll"); + + b.Property("LocalOnly") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("localOnly"); + + b.Property("MentionedRemoteUsers") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("text") + .HasColumnName("mentionedRemoteUsers") + .HasDefaultValueSql("'[]'::text"); + + b.Property>("Mentions") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(32)[]") + .HasColumnName("mentions") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("name"); + + b.Property("Reactions") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("reactions") + .HasDefaultValueSql("'{}'::jsonb"); + + b.Property("RenoteCount") + .ValueGeneratedOnAdd() + .HasColumnType("smallint") + .HasDefaultValue((short)0) + .HasColumnName("renoteCount"); + + b.Property("RenoteId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("renoteId") + .HasComment("The ID of renote target."); + + b.Property("RenoteUserHost") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("renoteUserHost") + .HasComment("[Denormalized]"); + + b.Property("RenoteUserId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("renoteUserId") + .HasComment("[Denormalized]"); + + b.Property("RepliesCount") + .ValueGeneratedOnAdd() + .HasColumnType("smallint") + .HasDefaultValue((short)0) + .HasColumnName("repliesCount"); + + b.Property("ReplyId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("replyId") + .HasComment("The ID of reply target."); + + b.Property("ReplyUserHost") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("replyUserHost") + .HasComment("[Denormalized]"); + + b.Property("ReplyUserId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("replyUserId") + .HasComment("[Denormalized]"); + + b.Property("Score") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("score"); + + b.Property>("Tags") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(128)[]") + .HasColumnName("tags") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("Text") + .HasColumnType("text") + .HasColumnName("text"); + + b.Property("ThreadId") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("threadId"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("updatedAt") + .HasComment("The updated date of the Note."); + + b.Property("Uri") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("uri") + .HasComment("The URI of a note. it will be null when the note is local."); + + b.Property("Url") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("url") + .HasComment("The human readable url of a note. it will be null when the note is local."); + + b.Property("UserHost") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("userHost") + .HasComment("[Denormalized]"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The ID of author."); + + b.Property("Visibility") + .HasColumnType("note_visibility_enum") + .HasColumnName("visibility"); + + b.Property>("VisibleUserIds") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(32)[]") + .HasColumnName("visibleUserIds") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.HasKey("Id"); + + b.HasIndex("AttachedFileTypes"); + + b.HasIndex("ChannelId"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("FileIds"); + + b.HasIndex("Mentions"); + + b.HasIndex("RenoteId"); + + b.HasIndex("ReplyId"); + + b.HasIndex("Tags"); + + b.HasIndex("ThreadId"); + + b.HasIndex("Uri") + .IsUnique(); + + b.HasIndex("Url"); + + b.HasIndex("UserHost"); + + b.HasIndex("UserId"); + + b.HasIndex("VisibleUserIds"); + + b.HasIndex("CreatedAt", "UserId"); + + b.HasIndex("Id", "UserHost"); + + b.HasIndex("UserId", "Id"); + + b.HasIndex(new[] { "Mentions" }, "IDX_NOTE_MENTIONS"); + + NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex(new[] { "Mentions" }, "IDX_NOTE_MENTIONS"), "gin"); + + b.HasIndex(new[] { "Tags" }, "IDX_NOTE_TAGS"); + + NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex(new[] { "Tags" }, "IDX_NOTE_TAGS"), "gin"); + + b.HasIndex(new[] { "VisibleUserIds" }, "IDX_NOTE_VISIBLE_USER_IDS"); + + NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex(new[] { "VisibleUserIds" }, "IDX_NOTE_VISIBLE_USER_IDS"), "gin"); + + b.HasIndex(new[] { "Text" }, "note_text_fts_idx"); + + NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex(new[] { "Text" }, "note_text_fts_idx"), "gin"); + NpgsqlIndexBuilderExtensions.HasOperators(b.HasIndex(new[] { "Text" }, "note_text_fts_idx"), new[] { "gin_trgm_ops" }); + + b.ToTable("note"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteEdit", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("Cw") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("cw"); + + b.Property>("FileIds") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(32)[]") + .HasColumnName("fileIds") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("NoteId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteId") + .HasComment("The ID of note."); + + b.Property("Text") + .HasColumnType("text") + .HasColumnName("text"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("updatedAt") + .HasComment("The updated date of the Note."); + + b.HasKey("Id"); + + b.HasIndex("NoteId"); + + b.ToTable("note_edit"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteFavorite", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the NoteFavorite."); + + b.Property("NoteId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteId"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("NoteId"); + + b.HasIndex("UserId"); + + b.HasIndex("UserId", "NoteId") + .IsUnique(); + + b.ToTable("note_favorite"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteReaction", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the NoteReaction."); + + b.Property("NoteId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteId"); + + b.Property("Reaction") + .IsRequired() + .HasMaxLength(260) + .HasColumnType("character varying(260)") + .HasColumnName("reaction"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("NoteId"); + + b.HasIndex("UserId"); + + b.HasIndex("UserId", "NoteId") + .IsUnique(); + + b.ToTable("note_reaction"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteThreadMuting", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt"); + + b.Property("ThreadId") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("threadId"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("ThreadId"); + + b.HasIndex("UserId"); + + b.HasIndex("UserId", "ThreadId") + .IsUnique(); + + b.ToTable("note_thread_muting"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteUnread", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("IsMentioned") + .HasColumnType("boolean") + .HasColumnName("isMentioned"); + + b.Property("IsSpecified") + .HasColumnType("boolean") + .HasColumnName("isSpecified"); + + b.Property("NoteChannelId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteChannelId") + .HasComment("[Denormalized]"); + + b.Property("NoteId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteId"); + + b.Property("NoteUserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteUserId") + .HasComment("[Denormalized]"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("IsMentioned"); + + b.HasIndex("IsSpecified"); + + b.HasIndex("NoteChannelId"); + + b.HasIndex("NoteId"); + + b.HasIndex("NoteUserId"); + + b.HasIndex("UserId"); + + b.HasIndex("UserId", "NoteId") + .IsUnique(); + + b.ToTable("note_unread"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteWatching", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the NoteWatching."); + + b.Property("NoteId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteId") + .HasComment("The target Note ID."); + + b.Property("NoteUserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteUserId") + .HasComment("[Denormalized]"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The watcher ID."); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("NoteId"); + + b.HasIndex("NoteUserId"); + + b.HasIndex("UserId"); + + b.HasIndex("UserId", "NoteId") + .IsUnique(); + + b.ToTable("note_watching"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Notification", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("AppAccessTokenId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("appAccessTokenId"); + + b.Property("Choice") + .HasColumnType("integer") + .HasColumnName("choice"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the Notification."); + + b.Property("CustomBody") + .HasMaxLength(2048) + .HasColumnType("character varying(2048)") + .HasColumnName("customBody"); + + b.Property("CustomHeader") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("customHeader"); + + b.Property("CustomIcon") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)") + .HasColumnName("customIcon"); + + b.Property("FollowRequestId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("followRequestId"); + + b.Property("IsRead") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isRead") + .HasComment("Whether the notification was read."); + + b.Property("NoteId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteId"); + + b.Property("NotifieeId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("notifieeId") + .HasComment("The ID of recipient user of the Notification."); + + b.Property("NotifierId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("notifierId") + .HasComment("The ID of sender user of the Notification."); + + b.Property("Reaction") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("reaction"); + + b.Property("Type") + .HasColumnType("notification_type_enum") + .HasColumnName("type") + .HasComment("The type of the Notification."); + + b.Property("UserGroupInvitationId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userGroupInvitationId"); + + b.HasKey("Id"); + + b.HasIndex("AppAccessTokenId"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("FollowRequestId"); + + b.HasIndex("IsRead"); + + b.HasIndex("NoteId"); + + b.HasIndex("NotifieeId"); + + b.HasIndex("NotifierId"); + + b.HasIndex("Type"); + + b.HasIndex("UserGroupInvitationId"); + + b.ToTable("notification"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.OauthApp", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("ClientId") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("clientId") + .HasComment("The client id of the OAuth application"); + + b.Property("ClientSecret") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("clientSecret") + .HasComment("The client secret of the OAuth application"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the OAuth application"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("name") + .HasComment("The name of the OAuth application"); + + b.Property>("RedirectUris") + .IsRequired() + .HasColumnType("character varying(512)[]") + .HasColumnName("redirectUris") + .HasComment("The redirect URIs of the OAuth application"); + + b.Property>("Scopes") + .IsRequired() + .HasColumnType("character varying(64)[]") + .HasColumnName("scopes") + .HasComment("The scopes requested by the OAuth application"); + + b.Property("Website") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("website") + .HasComment("The website of the OAuth application"); + + b.HasKey("Id"); + + b.HasIndex("ClientId") + .IsUnique(); + + b.ToTable("oauth_app"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.OauthToken", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("Active") + .HasColumnType("boolean") + .HasColumnName("active") + .HasComment("Whether or not the token has been activated"); + + b.Property("AppId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("appId"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("code") + .HasComment("The auth code for the OAuth token"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the OAuth token"); + + b.Property("RedirectUri") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("redirectUri") + .HasComment("The redirect URI of the OAuth token"); + + b.Property>("Scopes") + .IsRequired() + .HasColumnType("character varying(64)[]") + .HasColumnName("scopes") + .HasComment("The scopes requested by the OAuth token"); + + b.Property("Token") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("token") + .HasComment("The OAuth token"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("AppId"); + + b.HasIndex("Code"); + + b.HasIndex("Token"); + + b.HasIndex("UserId"); + + b.ToTable("oauth_token"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Page", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("AlignCenter") + .HasColumnType("boolean") + .HasColumnName("alignCenter"); + + b.Property("Content") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("content") + .HasDefaultValueSql("'[]'::jsonb"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the Page."); + + b.Property("EyeCatchingImageId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("eyeCatchingImageId"); + + b.Property("Font") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("font"); + + b.Property("HideTitleWhenPinned") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("hideTitleWhenPinned"); + + b.Property("IsPublic") + .HasColumnType("boolean") + .HasColumnName("isPublic"); + + b.Property("LikedCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("likedCount"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("name"); + + b.Property("Script") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(16384) + .HasColumnType("character varying(16384)") + .HasColumnName("script") + .HasDefaultValueSql("''::character varying"); + + b.Property("Summary") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("summary"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("title"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("updatedAt") + .HasComment("The updated date of the Page."); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The ID of author."); + + b.Property("Variables") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("variables") + .HasDefaultValueSql("'[]'::jsonb"); + + b.Property("Visibility") + .HasColumnType("page_visibility_enum") + .HasColumnName("visibility"); + + b.Property>("VisibleUserIds") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(32)[]") + .HasColumnName("visibleUserIds") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("EyeCatchingImageId"); + + b.HasIndex("Name"); + + b.HasIndex("UpdatedAt"); + + b.HasIndex("UserId"); + + b.HasIndex("VisibleUserIds"); + + b.HasIndex("UserId", "Name") + .IsUnique(); + + b.ToTable("page"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PageLike", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt"); + + b.Property("PageId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("pageId"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("PageId"); + + b.HasIndex("UserId"); + + b.HasIndex("UserId", "PageId") + .IsUnique(); + + b.ToTable("page_like"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PasswordResetRequest", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt"); + + b.Property("Token") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("token"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("Token") + .IsUnique(); + + b.HasIndex("UserId"); + + b.ToTable("password_reset_request"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Poll", b => + { + b.Property("NoteId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteId"); + + b.Property>("Choices") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(256)[]") + .HasColumnName("choices") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("ExpiresAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("expiresAt"); + + b.Property("Multiple") + .HasColumnType("boolean") + .HasColumnName("multiple"); + + b.Property("NoteVisibility") + .HasColumnType("poll_notevisibility_enum") + .HasColumnName("noteVisibility") + .HasComment("[Denormalized]"); + + b.Property("UserHost") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("userHost") + .HasComment("[Denormalized]"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("[Denormalized]"); + + b.Property>("Votes") + .IsRequired() + .HasColumnType("integer[]") + .HasColumnName("votes"); + + b.HasKey("NoteId"); + + b.HasIndex("UserHost"); + + b.HasIndex("UserId"); + + b.ToTable("poll"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PollVote", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("Choice") + .HasColumnType("integer") + .HasColumnName("choice"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the PollVote."); + + b.Property("NoteId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteId"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("NoteId"); + + b.HasIndex("UserId"); + + b.HasIndex("UserId", "NoteId", "Choice") + .IsUnique(); + + b.ToTable("poll_vote"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PromoNote", b => + { + b.Property("NoteId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteId"); + + b.Property("ExpiresAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("expiresAt"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("[Denormalized]"); + + b.HasKey("NoteId"); + + b.HasIndex("UserId"); + + b.ToTable("promo_note"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PromoRead", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the PromoRead."); + + b.Property("NoteId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteId"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("NoteId"); + + b.HasIndex("UserId"); + + b.HasIndex("UserId", "NoteId") + .IsUnique(); + + b.ToTable("promo_read"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.RegistrationTicket", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("code"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt"); + + b.HasKey("Id"); + + b.HasIndex("Code") + .IsUnique(); + + b.ToTable("registration_ticket"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.RegistryItem", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the RegistryItem."); + + b.Property("Domain") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("domain"); + + b.Property("Key") + .IsRequired() + .HasMaxLength(1024) + .HasColumnType("character varying(1024)") + .HasColumnName("key") + .HasComment("The key of the RegistryItem."); + + b.Property>("Scope") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(1024)[]") + .HasColumnName("scope") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("updatedAt") + .HasComment("The updated date of the RegistryItem."); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The owner ID."); + + b.Property("Value") + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("value") + .HasDefaultValueSql("'{}'::jsonb") + .HasComment("The value of the RegistryItem."); + + b.HasKey("Id"); + + b.HasIndex("Domain"); + + b.HasIndex("Scope"); + + b.HasIndex("UserId"); + + b.ToTable("registry_item"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Relay", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("Inbox") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("inbox"); + + b.Property("Status") + .HasColumnType("relay_status_enum") + .HasColumnName("status"); + + b.HasKey("Id"); + + b.HasIndex("Inbox") + .IsUnique(); + + b.ToTable("relay"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.RenoteMuting", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the Muting."); + + b.Property("MuteeId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("muteeId") + .HasComment("The mutee user ID."); + + b.Property("MuterId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("muterId") + .HasComment("The muter user ID."); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("MuteeId"); + + b.HasIndex("MuterId"); + + b.HasIndex("MuterId", "MuteeId") + .IsUnique(); + + b.ToTable("renote_muting"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Session", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("Active") + .HasColumnType("boolean") + .HasColumnName("active") + .HasComment("Whether or not the token has been activated (i.e. 2fa has been confirmed)"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the OAuth token"); + + b.Property("Token") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("token") + .HasComment("The authorization token"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("Token"); + + b.HasIndex("UserId"); + + b.ToTable("session"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Signin", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the Signin."); + + b.Property("Headers") + .IsRequired() + .HasColumnType("jsonb") + .HasColumnName("headers"); + + b.Property("Ip") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("ip"); + + b.Property("Success") + .HasColumnType("boolean") + .HasColumnName("success"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("signin"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.SwSubscription", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("Auth") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("auth"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt"); + + b.Property("Endpoint") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("endpoint"); + + b.Property("Publickey") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("publickey"); + + b.Property("SendReadMessage") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("sendReadMessage"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("sw_subscription"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UsedUsername", b => + { + b.Property("Username") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("username"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt"); + + b.HasKey("Username"); + + b.ToTable("used_username"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.User", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("AlsoKnownAs") + .HasColumnType("text") + .HasColumnName("alsoKnownAs") + .HasComment("URIs the user is known as too"); + + b.Property("AvatarBlurhash") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("avatarBlurhash") + .HasComment("The blurhash of the avatar DriveFile"); + + b.Property("AvatarId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("avatarId") + .HasComment("The ID of avatar DriveFile."); + + b.Property("AvatarUrl") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("avatarUrl") + .HasComment("The URL of the avatar DriveFile"); + + b.Property("BannerBlurhash") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("bannerBlurhash") + .HasComment("The blurhash of the banner DriveFile"); + + b.Property("BannerId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("bannerId") + .HasComment("The ID of banner DriveFile."); + + b.Property("BannerUrl") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("bannerUrl") + .HasComment("The URL of the banner DriveFile"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the User."); + + b.Property("DriveCapacityOverrideMb") + .HasColumnType("integer") + .HasColumnName("driveCapacityOverrideMb") + .HasComment("Overrides user drive capacity limit"); + + b.Property>("Emojis") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(128)[]") + .HasColumnName("emojis") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("Featured") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("featured") + .HasComment("The featured URL of the User. It will be null if the origin of the user is local."); + + b.Property("FollowersCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("followersCount") + .HasComment("The count of followers."); + + b.Property("FollowersUri") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("followersUri") + .HasComment("The URI of the user Follower Collection. It will be null if the origin of the user is local."); + + b.Property("FollowingCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("followingCount") + .HasComment("The count of following."); + + b.Property("HideOnlineStatus") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("hideOnlineStatus"); + + b.Property("Host") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("host") + .HasComment("The host of the User. It will be null if the origin of the user is local."); + + b.Property("Inbox") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("inbox") + .HasComment("The inbox URL of the User. It will be null if the origin of the user is local."); + + b.Property("IsAdmin") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isAdmin") + .HasComment("Whether the User is the admin."); + + b.Property("IsBot") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isBot") + .HasComment("Whether the User is a bot."); + + b.Property("IsCat") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isCat") + .HasComment("Whether the User is a cat."); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isDeleted") + .HasComment("Whether the User is deleted."); + + b.Property("IsExplorable") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true) + .HasColumnName("isExplorable") + .HasComment("Whether the User is explorable."); + + b.Property("IsLocked") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isLocked") + .HasComment("Whether the User is locked."); + + b.Property("IsModerator") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isModerator") + .HasComment("Whether the User is a moderator."); + + b.Property("IsSilenced") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isSilenced") + .HasComment("Whether the User is silenced."); + + b.Property("IsSuspended") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isSuspended") + .HasComment("Whether the User is suspended."); + + b.Property("LastActiveDate") + .HasColumnType("timestamp with time zone") + .HasColumnName("lastActiveDate"); + + b.Property("LastFetchedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("lastFetchedAt"); + + b.Property("MovedToUri") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("movedToUri") + .HasComment("The URI of the new account of the User"); + + b.Property("Name") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("name") + .HasComment("The name of the User."); + + b.Property("NotesCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("notesCount") + .HasComment("The count of notes."); + + b.Property("SharedInbox") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("sharedInbox") + .HasComment("The sharedInbox URL of the User. It will be null if the origin of the user is local."); + + b.Property("SpeakAsCat") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true) + .HasColumnName("speakAsCat") + .HasComment("Whether to speak as a cat if isCat."); + + b.Property>("Tags") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(128)[]") + .HasColumnName("tags") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("Token") + .HasMaxLength(16) + .HasColumnType("character(16)") + .HasColumnName("token") + .IsFixedLength() + .HasComment("The native access token of the User. It will be null if the origin of the user is local."); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("updatedAt") + .HasComment("The updated date of the User."); + + b.Property("Uri") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("uri") + .HasComment("The URI of the User. It will be null if the origin of the user is local."); + + b.Property("Username") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("username") + .HasComment("The username of the User."); + + b.Property("UsernameLower") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("usernameLower") + .HasComment("The username (lowercased) of the User."); + + b.HasKey("Id"); + + b.HasIndex("AvatarId") + .IsUnique(); + + b.HasIndex("BannerId") + .IsUnique(); + + b.HasIndex("CreatedAt"); + + b.HasIndex("Host"); + + b.HasIndex("IsExplorable"); + + b.HasIndex("LastActiveDate"); + + b.HasIndex("Tags"); + + b.HasIndex("Token") + .IsUnique(); + + b.HasIndex("UpdatedAt"); + + b.HasIndex("Uri"); + + b.HasIndex("UsernameLower"); + + b.HasIndex("UsernameLower", "Host") + .IsUnique(); + + b.ToTable("user"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroup", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the UserGroup."); + + b.Property("IsPrivate") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isPrivate"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("name"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The ID of owner."); + + b.HasKey("Id"); + + b.HasIndex("CreatedAt"); + + b.HasIndex("UserId"); + + b.ToTable("user_group"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupInvitation", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the UserGroupInvitation."); + + b.Property("UserGroupId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userGroupId") + .HasComment("The group ID."); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The user ID."); + + b.HasKey("Id"); + + b.HasIndex("UserGroupId"); + + b.HasIndex("UserId"); + + b.HasIndex("UserId", "UserGroupId") + .IsUnique(); + + b.ToTable("user_group_invitation"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupInvite", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt"); + + b.Property("UserGroupId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userGroupId"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("UserGroupId"); + + b.HasIndex("UserId"); + + b.HasIndex("UserId", "UserGroupId") + .IsUnique(); + + b.ToTable("user_group_invite"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupMember", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the UserGroupMember."); + + b.Property("UserGroupId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userGroupId") + .HasComment("The group ID."); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The user ID."); + + b.HasKey("Id"); + + b.HasIndex("UserGroupId"); + + b.HasIndex("UserId"); + + b.HasIndex("UserId", "UserGroupId") + .IsUnique(); + + b.ToTable("user_group_member"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserKeypair", b => + { + b.Property("UserId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.Property("PrivateKey") + .IsRequired() + .HasMaxLength(4096) + .HasColumnType("character varying(4096)") + .HasColumnName("privateKey"); + + b.Property("PublicKey") + .IsRequired() + .HasMaxLength(4096) + .HasColumnType("character varying(4096)") + .HasColumnName("publicKey"); + + b.HasKey("UserId"); + + b.ToTable("user_keypair"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserList", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the UserList."); + + b.Property("HideFromHomeTl") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("hideFromHomeTl") + .HasComment("Whether posts from list members should be hidden from the home timeline."); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("name") + .HasComment("The name of the UserList."); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The owner ID."); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("user_list"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserListMember", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the UserListMember."); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The user ID."); + + b.Property("UserListId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userListId") + .HasComment("The list ID."); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.HasIndex("UserListId"); + + b.HasIndex("UserId", "UserListId") + .IsUnique(); + + b.ToTable("user_list_member"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserNotePin", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the UserNotePins."); + + b.Property("NoteId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("noteId"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("NoteId"); + + b.HasIndex("UserId"); + + b.HasIndex("UserId", "NoteId") + .IsUnique(); + + b.ToTable("user_note_pin"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserPending", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("code"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("email"); + + b.Property("Password") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("password"); + + b.Property("Username") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("username"); + + b.HasKey("Id"); + + b.HasIndex("Code") + .IsUnique(); + + b.ToTable("user_pending"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserProfile", b => + { + b.Property("UserId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.Property("AlwaysMarkNsfw") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("alwaysMarkNsfw"); + + b.Property("AutoAcceptFollowed") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("autoAcceptFollowed"); + + b.Property("Birthday") + .HasMaxLength(10) + .HasColumnType("character(10)") + .HasColumnName("birthday") + .IsFixedLength() + .HasComment("The birthday (YYYY-MM-DD) of the User."); + + b.Property("CarefulBot") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("carefulBot"); + + b.Property("ClientData") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("clientData") + .HasDefaultValueSql("'{}'::jsonb") + .HasComment("The client-specific data of the User."); + + b.Property("Description") + .HasMaxLength(2048) + .HasColumnType("character varying(2048)") + .HasColumnName("description") + .HasComment("The description (bio) of the User."); + + b.Property("Email") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("email") + .HasComment("The email address of the User."); + + b.Property("EmailNotificationTypes") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("emailNotificationTypes") + .HasDefaultValueSql("'[\"follow\", \"receiveFollowRequest\", \"groupInvited\"]'::jsonb"); + + b.Property("EmailVerified") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("emailVerified"); + + b.Property("EmailVerifyCode") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("emailVerifyCode"); + + b.Property("EnableWordMute") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("enableWordMute"); + + b.Property("FFVisibility") + .ValueGeneratedOnAdd() + .HasColumnType("user_profile_ffvisibility_enum") + .HasDefaultValue(UserProfile.UserProfileFFVisibility.Public) + .HasColumnName("ffVisibility"); + + b.Property("Fields") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("fields") + .HasDefaultValueSql("'[]'::jsonb"); + + b.Property("InjectFeaturedNote") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true) + .HasColumnName("injectFeaturedNote"); + + b.Property("Integrations") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("integrations") + .HasDefaultValueSql("'{}'::jsonb"); + + b.Property("Lang") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("lang"); + + b.Property("Location") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("location") + .HasComment("The location of the User."); + + b.Property("Mentions") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("mentions") + .HasDefaultValueSql("'[]'::jsonb"); + + b.Property("ModerationNote") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(8192) + .HasColumnType("character varying(8192)") + .HasColumnName("moderationNote") + .HasDefaultValueSql("''::character varying"); + + b.Property("MutedInstances") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("mutedInstances") + .HasDefaultValueSql("'[]'::jsonb") + .HasComment("List of instances muted by the user."); + + b.Property("MutedWords") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("mutedWords") + .HasDefaultValueSql("'[]'::jsonb"); + + b.Property>("MutingNotificationTypes") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("user_profile_mutingnotificationtypes_enum[]") + .HasColumnName("mutingNotificationTypes") + .HasDefaultValueSql("'{}'::public.user_profile_mutingnotificationtypes_enum[]"); + + b.Property("NoCrawle") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("noCrawle") + .HasComment("Whether reject index by crawler."); + + b.Property("Password") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("password") + .HasComment("The password hash of the User. It will be null if the origin of the user is local."); + + b.Property("PinnedPageId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("pinnedPageId"); + + b.Property("PreventAiLearning") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true) + .HasColumnName("preventAiLearning"); + + b.Property("PublicReactions") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("publicReactions"); + + b.Property("ReceiveAnnouncementEmail") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true) + .HasColumnName("receiveAnnouncementEmail"); + + b.Property("Room") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("jsonb") + .HasColumnName("room") + .HasDefaultValueSql("'{}'::jsonb") + .HasComment("The room data of the User."); + + b.Property("SecurityKeysAvailable") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("securityKeysAvailable"); + + b.Property("TwoFactorEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("twoFactorEnabled"); + + b.Property("TwoFactorSecret") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("twoFactorSecret"); + + b.Property("TwoFactorTempSecret") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("twoFactorTempSecret"); + + b.Property("Url") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("url") + .HasComment("Remote URL of the user."); + + b.Property("UsePasswordLessLogin") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("usePasswordLessLogin"); + + b.Property("UserHost") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("userHost") + .HasComment("[Denormalized]"); + + b.HasKey("UserId"); + + b.HasIndex("EnableWordMute"); + + b.HasIndex("PinnedPageId") + .IsUnique(); + + b.HasIndex("UserHost"); + + b.ToTable("user_profile"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserPublickey", b => + { + b.Property("UserId") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.Property("KeyId") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("keyId"); + + b.Property("KeyPem") + .IsRequired() + .HasMaxLength(4096) + .HasColumnType("character varying(4096)") + .HasColumnName("keyPem"); + + b.HasKey("UserId"); + + b.HasIndex("KeyId") + .IsUnique(); + + b.ToTable("user_publickey"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserSecurityKey", b => + { + b.Property("Id") + .HasColumnType("character varying") + .HasColumnName("id") + .HasComment("Variable-length id given to navigator.credentials.get()"); + + b.Property("LastUsed") + .HasColumnType("timestamp with time zone") + .HasColumnName("lastUsed") + .HasComment("The date of the last time the UserSecurityKey was successfully validated."); + + b.Property("Name") + .IsRequired() + .HasMaxLength(30) + .HasColumnType("character varying(30)") + .HasColumnName("name") + .HasComment("User-defined name for this key"); + + b.Property("PublicKey") + .IsRequired() + .HasColumnType("character varying") + .HasColumnName("publicKey") + .HasComment("Variable-length public key used to verify attestations (hex-encoded)."); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId"); + + b.HasKey("Id"); + + b.HasIndex("PublicKey"); + + b.HasIndex("UserId"); + + b.ToTable("user_security_key"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Webhook", b => + { + b.Property("Id") + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("id"); + + b.Property("Active") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true) + .HasColumnName("active"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("createdAt") + .HasComment("The created date of the Antenna."); + + b.Property("LatestSentAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("latestSentAt"); + + b.Property("LatestStatus") + .HasColumnType("integer") + .HasColumnName("latestStatus"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("name") + .HasComment("The name of the Antenna."); + + b.Property>("On") + .IsRequired() + .ValueGeneratedOnAdd() + .HasColumnType("character varying(128)[]") + .HasColumnName("on") + .HasDefaultValueSql("'{}'::character varying[]"); + + b.Property("Secret") + .IsRequired() + .HasMaxLength(1024) + .HasColumnType("character varying(1024)") + .HasColumnName("secret"); + + b.Property("Url") + .IsRequired() + .HasMaxLength(1024) + .HasColumnType("character varying(1024)") + .HasColumnName("url"); + + b.Property("UserId") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("character varying(32)") + .HasColumnName("userId") + .HasComment("The owner ID."); + + b.HasKey("Id"); + + b.HasIndex("Active"); + + b.HasIndex("On"); + + b.HasIndex("UserId"); + + b.ToTable("webhook"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AbuseUserReport", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Assignee") + .WithMany("AbuseUserReportAssignees") + .HasForeignKey("AssigneeId") + .OnDelete(DeleteBehavior.SetNull); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Reporter") + .WithMany("AbuseUserReportReporters") + .HasForeignKey("ReporterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "TargetUser") + .WithMany("AbuseUserReportTargetUsers") + .HasForeignKey("TargetUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Assignee"); + + b.Navigation("Reporter"); + + b.Navigation("TargetUser"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AccessToken", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.App", "App") + .WithMany("AccessTokens") + .HasForeignKey("AppId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("AccessTokens") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("App"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AnnouncementRead", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Announcement", "Announcement") + .WithMany("AnnouncementReads") + .HasForeignKey("AnnouncementId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("AnnouncementReads") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Announcement"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Antenna", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserGroupMember", "UserGroupMember") + .WithMany("Antennas") + .HasForeignKey("UserGroupMemberId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("Antennas") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserList", "UserList") + .WithMany("Antennas") + .HasForeignKey("UserListId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("User"); + + b.Navigation("UserGroupMember"); + + b.Navigation("UserList"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.App", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("Apps") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.SetNull); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AttestationChallenge", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("AttestationChallenges") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AuthSession", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.App", "App") + .WithMany("AuthSessions") + .HasForeignKey("AppId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("AuthSessions") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("App"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Blocking", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Blockee") + .WithMany("BlockingBlockees") + .HasForeignKey("BlockeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Blocker") + .WithMany("BlockingBlockers") + .HasForeignKey("BlockerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Blockee"); + + b.Navigation("Blocker"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Channel", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFile", "Banner") + .WithMany("Channels") + .HasForeignKey("BannerId") + .OnDelete(DeleteBehavior.SetNull); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("Channels") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Banner"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ChannelFollowing", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Channel", "Followee") + .WithMany("ChannelFollowings") + .HasForeignKey("FolloweeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Follower") + .WithMany("ChannelFollowings") + .HasForeignKey("FollowerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Followee"); + + b.Navigation("Follower"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ChannelNotePin", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Channel", "Channel") + .WithMany("ChannelNotePins") + .HasForeignKey("ChannelId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") + .WithMany("ChannelNotePins") + .HasForeignKey("NoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Channel"); + + b.Navigation("Note"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Clip", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("Clips") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ClipNote", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Clip", "Clip") + .WithMany("ClipNotes") + .HasForeignKey("ClipId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") + .WithMany("ClipNotes") + .HasForeignKey("NoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Clip"); + + b.Navigation("Note"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.DriveFile", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFolder", "Folder") + .WithMany("DriveFiles") + .HasForeignKey("FolderId") + .OnDelete(DeleteBehavior.SetNull); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("DriveFiles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Folder"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.DriveFolder", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFolder", "Parent") + .WithMany("InverseParent") + .HasForeignKey("ParentId") + .OnDelete(DeleteBehavior.SetNull); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("DriveFolders") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("Parent"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.FollowRequest", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Followee") + .WithMany("FollowRequestFollowees") + .HasForeignKey("FolloweeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Follower") + .WithMany("FollowRequestFollowers") + .HasForeignKey("FollowerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Followee"); + + b.Navigation("Follower"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Following", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Followee") + .WithMany("FollowingFollowees") + .HasForeignKey("FolloweeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Follower") + .WithMany("FollowingFollowers") + .HasForeignKey("FollowerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Followee"); + + b.Navigation("Follower"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.GalleryLike", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.GalleryPost", "Post") + .WithMany("GalleryLikes") + .HasForeignKey("PostId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("GalleryLikes") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Post"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.GalleryPost", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("GalleryPosts") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.HtmlNoteCacheEntry", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") + .WithOne("HtmlNoteCacheEntry") + .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.HtmlNoteCacheEntry", "NoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Note"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.HtmlUserCacheEntry", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithOne("HtmlUserCacheEntry") + .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.HtmlUserCacheEntry", "UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.MessagingMessage", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFile", "File") + .WithMany("MessagingMessages") + .HasForeignKey("FileId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserGroup", "Group") + .WithMany("MessagingMessages") + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Recipient") + .WithMany("MessagingMessageRecipients") + .HasForeignKey("RecipientId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("MessagingMessageUsers") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("File"); + + b.Navigation("Group"); + + b.Navigation("Recipient"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ModerationLog", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("ModerationLogs") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Muting", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Mutee") + .WithMany("MutingMutees") + .HasForeignKey("MuteeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Muter") + .WithMany("MutingMuters") + .HasForeignKey("MuterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Mutee"); + + b.Navigation("Muter"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Note", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Channel", "Channel") + .WithMany("Notes") + .HasForeignKey("ChannelId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Renote") + .WithMany("InverseRenote") + .HasForeignKey("RenoteId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Reply") + .WithMany("InverseReply") + .HasForeignKey("ReplyId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("Notes") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Channel"); + + b.Navigation("Renote"); + + b.Navigation("Reply"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteEdit", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") + .WithMany("NoteEdits") + .HasForeignKey("NoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Note"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteFavorite", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") + .WithMany("NoteFavorites") + .HasForeignKey("NoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("NoteFavorites") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Note"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteReaction", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") + .WithMany("NoteReactions") + .HasForeignKey("NoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("NoteReactions") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Note"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteThreadMuting", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("NoteThreadMutings") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteUnread", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") + .WithMany("NoteUnreads") + .HasForeignKey("NoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("NoteUnreads") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Note"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteWatching", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") + .WithMany("NoteWatchings") + .HasForeignKey("NoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("NoteWatchings") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Note"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Notification", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.AccessToken", "AppAccessToken") + .WithMany("Notifications") + .HasForeignKey("AppAccessTokenId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.FollowRequest", "FollowRequest") + .WithMany("Notifications") + .HasForeignKey("FollowRequestId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") + .WithMany("Notifications") + .HasForeignKey("NoteId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Notifiee") + .WithMany("NotificationNotifiees") + .HasForeignKey("NotifieeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Notifier") + .WithMany("NotificationNotifiers") + .HasForeignKey("NotifierId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserGroupInvitation", "UserGroupInvitation") + .WithMany("Notifications") + .HasForeignKey("UserGroupInvitationId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("AppAccessToken"); + + b.Navigation("FollowRequest"); + + b.Navigation("Note"); + + b.Navigation("Notifiee"); + + b.Navigation("Notifier"); + + b.Navigation("UserGroupInvitation"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.OauthToken", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.OauthApp", "App") + .WithMany("OauthTokens") + .HasForeignKey("AppId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("OauthTokens") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("App"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Page", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFile", "EyeCatchingImage") + .WithMany("Pages") + .HasForeignKey("EyeCatchingImageId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("Pages") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("EyeCatchingImage"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PageLike", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Page", "Page") + .WithMany("PageLikes") + .HasForeignKey("PageId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("PageLikes") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Page"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PasswordResetRequest", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("PasswordResetRequests") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Poll", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") + .WithOne("Poll") + .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.Poll", "NoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Note"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PollVote", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") + .WithMany("PollVotes") + .HasForeignKey("NoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("PollVotes") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Note"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PromoNote", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") + .WithOne("PromoNote") + .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.PromoNote", "NoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Note"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PromoRead", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") + .WithMany("PromoReads") + .HasForeignKey("NoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("PromoReads") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Note"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.RegistryItem", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("RegistryItems") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.RenoteMuting", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Mutee") + .WithMany("RenoteMutingMutees") + .HasForeignKey("MuteeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Muter") + .WithMany("RenoteMutingMuters") + .HasForeignKey("MuterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Mutee"); + + b.Navigation("Muter"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Session", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("Sessions") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Signin", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("Signins") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.SwSubscription", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("SwSubscriptions") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.User", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFile", "Avatar") + .WithOne("UserAvatar") + .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.User", "AvatarId") + .OnDelete(DeleteBehavior.SetNull); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFile", "Banner") + .WithOne("UserBanner") + .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.User", "BannerId") + .OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Avatar"); + + b.Navigation("Banner"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroup", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("UserGroups") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupInvitation", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserGroup", "UserGroup") + .WithMany("UserGroupInvitations") + .HasForeignKey("UserGroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("UserGroupInvitations") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + + b.Navigation("UserGroup"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupInvite", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserGroup", "UserGroup") + .WithMany("UserGroupInvites") + .HasForeignKey("UserGroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("UserGroupInvites") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + + b.Navigation("UserGroup"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupMember", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserGroup", "UserGroup") + .WithMany("UserGroupMembers") + .HasForeignKey("UserGroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("UserGroupMembers") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + + b.Navigation("UserGroup"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserKeypair", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithOne("UserKeypair") + .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.UserKeypair", "UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserList", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("UserLists") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserListMember", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("UserListMembers") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserList", "UserList") + .WithMany("UserListMembers") + .HasForeignKey("UserListId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + + b.Navigation("UserList"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserNotePin", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") + .WithMany("UserNotePins") + .HasForeignKey("NoteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("UserNotePins") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Note"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserProfile", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Page", "PinnedPage") + .WithOne("UserProfile") + .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.UserProfile", "PinnedPageId") + .OnDelete(DeleteBehavior.SetNull); + + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithOne("UserProfile") + .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.UserProfile", "UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("PinnedPage"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserPublickey", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithOne("UserPublickey") + .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.UserPublickey", "UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserSecurityKey", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("UserSecurityKeys") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Webhook", b => + { + b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") + .WithMany("Webhooks") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AccessToken", b => + { + b.Navigation("Notifications"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Announcement", b => + { + b.Navigation("AnnouncementReads"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.App", b => + { + b.Navigation("AccessTokens"); + + b.Navigation("AuthSessions"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Channel", b => + { + b.Navigation("ChannelFollowings"); + + b.Navigation("ChannelNotePins"); + + b.Navigation("Notes"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Clip", b => + { + b.Navigation("ClipNotes"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.DriveFile", b => + { + b.Navigation("Channels"); + + b.Navigation("MessagingMessages"); + + b.Navigation("Pages"); + + b.Navigation("UserAvatar"); + + b.Navigation("UserBanner"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.DriveFolder", b => + { + b.Navigation("DriveFiles"); + + b.Navigation("InverseParent"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.FollowRequest", b => + { + b.Navigation("Notifications"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.GalleryPost", b => + { + b.Navigation("GalleryLikes"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Note", b => + { + b.Navigation("ChannelNotePins"); + + b.Navigation("ClipNotes"); + + b.Navigation("HtmlNoteCacheEntry"); + + b.Navigation("InverseRenote"); + + b.Navigation("InverseReply"); + + b.Navigation("NoteEdits"); + + b.Navigation("NoteFavorites"); + + b.Navigation("NoteReactions"); + + b.Navigation("NoteUnreads"); + + b.Navigation("NoteWatchings"); + + b.Navigation("Notifications"); + + b.Navigation("Poll"); + + b.Navigation("PollVotes"); + + b.Navigation("PromoNote"); + + b.Navigation("PromoReads"); + + b.Navigation("UserNotePins"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.OauthApp", b => + { + b.Navigation("OauthTokens"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Page", b => + { + b.Navigation("PageLikes"); + + b.Navigation("UserProfile"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.User", b => + { + b.Navigation("AbuseUserReportAssignees"); + + b.Navigation("AbuseUserReportReporters"); + + b.Navigation("AbuseUserReportTargetUsers"); + + b.Navigation("AccessTokens"); + + b.Navigation("AnnouncementReads"); + + b.Navigation("Antennas"); + + b.Navigation("Apps"); + + b.Navigation("AttestationChallenges"); + + b.Navigation("AuthSessions"); + + b.Navigation("BlockingBlockees"); + + b.Navigation("BlockingBlockers"); + + b.Navigation("ChannelFollowings"); + + b.Navigation("Channels"); + + b.Navigation("Clips"); + + b.Navigation("DriveFiles"); + + b.Navigation("DriveFolders"); + + b.Navigation("FollowRequestFollowees"); + + b.Navigation("FollowRequestFollowers"); + + b.Navigation("FollowingFollowees"); + + b.Navigation("FollowingFollowers"); + + b.Navigation("GalleryLikes"); + + b.Navigation("GalleryPosts"); + + b.Navigation("HtmlUserCacheEntry"); + + b.Navigation("MessagingMessageRecipients"); + + b.Navigation("MessagingMessageUsers"); + + b.Navigation("ModerationLogs"); + + b.Navigation("MutingMutees"); + + b.Navigation("MutingMuters"); + + b.Navigation("NoteFavorites"); + + b.Navigation("NoteReactions"); + + b.Navigation("NoteThreadMutings"); + + b.Navigation("NoteUnreads"); + + b.Navigation("NoteWatchings"); + + b.Navigation("Notes"); + + b.Navigation("NotificationNotifiees"); + + b.Navigation("NotificationNotifiers"); + + b.Navigation("OauthTokens"); + + b.Navigation("PageLikes"); + + b.Navigation("Pages"); + + b.Navigation("PasswordResetRequests"); + + b.Navigation("PollVotes"); + + b.Navigation("PromoReads"); + + b.Navigation("RegistryItems"); + + b.Navigation("RenoteMutingMutees"); + + b.Navigation("RenoteMutingMuters"); + + b.Navigation("Sessions"); + + b.Navigation("Signins"); + + b.Navigation("SwSubscriptions"); + + b.Navigation("UserGroupInvitations"); + + b.Navigation("UserGroupInvites"); + + b.Navigation("UserGroupMembers"); + + b.Navigation("UserGroups"); + + b.Navigation("UserKeypair"); + + b.Navigation("UserListMembers"); + + b.Navigation("UserLists"); + + b.Navigation("UserNotePins"); + + b.Navigation("UserProfile"); + + b.Navigation("UserPublickey"); + + b.Navigation("UserSecurityKeys"); + + b.Navigation("Webhooks"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroup", b => + { + b.Navigation("MessagingMessages"); + + b.Navigation("UserGroupInvitations"); + + b.Navigation("UserGroupInvites"); + + b.Navigation("UserGroupMembers"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupInvitation", b => + { + b.Navigation("Notifications"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupMember", b => + { + b.Navigation("Antennas"); + }); + + modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserList", b => + { + b.Navigation("Antennas"); + + b.Navigation("UserListMembers"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Iceshrimp.Backend/Core/Database/Migrations/20240107185214_RenameKeys.cs b/Iceshrimp.Backend/Core/Database/Migrations/20240107185214_RenameKeys.cs new file mode 100644 index 00000000..89c47db9 --- /dev/null +++ b/Iceshrimp.Backend/Core/Database/Migrations/20240107185214_RenameKeys.cs @@ -0,0 +1,3738 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Iceshrimp.Backend.Core.Database.Migrations +{ + /// + public partial class RenameKeys : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_04cc96756f89d0b7f9473e8cdf3", + table: "abuse_user_report"); + + migrationBuilder.DropForeignKey( + name: "FK_08b883dd5fdd6f9c4c1572b36de", + table: "abuse_user_report"); + + migrationBuilder.DropForeignKey( + name: "FK_a9021cc2e1feb5f72d3db6e9f5f", + table: "abuse_user_report"); + + migrationBuilder.DropForeignKey( + name: "FK_9949557d0e1b2c19e5344c171e9", + table: "access_token"); + + migrationBuilder.DropForeignKey( + name: "FK_a3ff16c90cc87a82a0b5959e560", + table: "access_token"); + + migrationBuilder.DropForeignKey( + name: "FK_603a7b1e7aa0533c6c88e9bfafe", + table: "announcement_read"); + + migrationBuilder.DropForeignKey( + name: "FK_8288151386172b8109f7239ab28", + table: "announcement_read"); + + migrationBuilder.DropForeignKey( + name: "FK_6446c571a0e8d0f05f01c789096", + table: "antenna"); + + migrationBuilder.DropForeignKey( + name: "FK_709d7d32053d0dd7620f678eeb9", + table: "antenna"); + + migrationBuilder.DropForeignKey( + name: "FK_ccbf5a8c0be4511133dcc50ddeb", + table: "antenna"); + + migrationBuilder.DropForeignKey( + name: "FK_3f5b0899ef90527a3462d7c2cb3", + table: "app"); + + migrationBuilder.DropForeignKey( + name: "FK_f1a461a618fa1755692d0e0d592", + table: "attestation_challenge"); + + migrationBuilder.DropForeignKey( + name: "FK_c072b729d71697f959bde66ade0", + table: "auth_session"); + + migrationBuilder.DropForeignKey( + name: "FK_dbe037d4bddd17b03a1dc778dee", + table: "auth_session"); + + migrationBuilder.DropForeignKey( + name: "FK_0627125f1a8a42c9a1929edb552", + table: "blocking"); + + migrationBuilder.DropForeignKey( + name: "FK_2cd4a2743a99671308f5417759e", + table: "blocking"); + + migrationBuilder.DropForeignKey( + name: "FK_823bae55bd81b3be6e05cff4383", + table: "channel"); + + migrationBuilder.DropForeignKey( + name: "FK_999da2bcc7efadbfe0e92d3bc19", + table: "channel"); + + migrationBuilder.DropForeignKey( + name: "FK_0e43068c3f92cab197c3d3cd86e", + table: "channel_following"); + + migrationBuilder.DropForeignKey( + name: "FK_6d8084ec9496e7334a4602707e1", + table: "channel_following"); + + migrationBuilder.DropForeignKey( + name: "FK_10b19ef67d297ea9de325cd4502", + table: "channel_note_pin"); + + migrationBuilder.DropForeignKey( + name: "FK_8125f950afd3093acb10d2db8a8", + table: "channel_note_pin"); + + migrationBuilder.DropForeignKey( + name: "FK_2b5ec6c574d6802c94c80313fb2", + table: "clip"); + + migrationBuilder.DropForeignKey( + name: "FK_a012eaf5c87c65da1deb5fdbfa3", + table: "clip_note"); + + migrationBuilder.DropForeignKey( + name: "FK_ebe99317bbbe9968a0c6f579adf", + table: "clip_note"); + + migrationBuilder.DropForeignKey( + name: "FK_860fa6f6c7df5bb887249fba22e", + table: "drive_file"); + + migrationBuilder.DropForeignKey( + name: "FK_bb90d1956dafc4068c28aa7560a", + table: "drive_file"); + + migrationBuilder.DropForeignKey( + name: "FK_00ceffb0cdc238b3233294f08f2", + table: "drive_folder"); + + migrationBuilder.DropForeignKey( + name: "FK_f4fc06e49c0171c85f1c48060d2", + table: "drive_folder"); + + migrationBuilder.DropForeignKey( + name: "FK_12c01c0d1a79f77d9f6c15fadd2", + table: "follow_request"); + + migrationBuilder.DropForeignKey( + name: "FK_a7fd92dd6dc519e6fb435dd108f", + table: "follow_request"); + + migrationBuilder.DropForeignKey( + name: "FK_24e0042143a18157b234df186c3", + table: "following"); + + migrationBuilder.DropForeignKey( + name: "FK_6516c5a6f3c015b4eed39978be5", + table: "following"); + + migrationBuilder.DropForeignKey( + name: "FK_8fd5215095473061855ceb948cf", + table: "gallery_like"); + + migrationBuilder.DropForeignKey( + name: "FK_b1cb568bfe569e47b7051699fc8", + table: "gallery_like"); + + migrationBuilder.DropForeignKey( + name: "FK_985b836dddd8615e432d7043ddb", + table: "gallery_post"); + + migrationBuilder.DropForeignKey( + name: "FK_6ef86ec901b2017cbe82d3a8286", + table: "html_note_cache_entry"); + + migrationBuilder.DropForeignKey( + name: "FK_920b9474e3c9cae3f3c37c057e1", + table: "html_user_cache_entry"); + + migrationBuilder.DropForeignKey( + name: "FK_2c4be03b446884f9e9c502135be", + table: "messaging_message"); + + migrationBuilder.DropForeignKey( + name: "FK_535def119223ac05ad3fa9ef64b", + table: "messaging_message"); + + migrationBuilder.DropForeignKey( + name: "FK_5377c307783fce2b6d352e1203b", + table: "messaging_message"); + + migrationBuilder.DropForeignKey( + name: "FK_cac14a4e3944454a5ce7daa5142", + table: "messaging_message"); + + migrationBuilder.DropForeignKey( + name: "FK_a08ad074601d204e0f69da9a954", + table: "moderation_log"); + + migrationBuilder.DropForeignKey( + name: "FK_93060675b4a79a577f31d260c67", + table: "muting"); + + migrationBuilder.DropForeignKey( + name: "FK_ec96b4fed9dae517e0dbbe0675c", + table: "muting"); + + migrationBuilder.DropForeignKey( + name: "FK_17cb3553c700a4985dff5a30ff5", + table: "note"); + + migrationBuilder.DropForeignKey( + name: "FK_52ccc804d7c69037d558bac4c96", + table: "note"); + + migrationBuilder.DropForeignKey( + name: "FK_5b87d9d19127bd5d92026017a7b", + table: "note"); + + migrationBuilder.DropForeignKey( + name: "FK_f22169eb10657bded6d875ac8f9", + table: "note"); + + migrationBuilder.DropForeignKey( + name: "FK_702ad5ae993a672e4fbffbcd38c", + table: "note_edit"); + + migrationBuilder.DropForeignKey( + name: "FK_0e00498f180193423c992bc4370", + table: "note_favorite"); + + migrationBuilder.DropForeignKey( + name: "FK_47f4b1892f5d6ba8efb3057d81a", + table: "note_favorite"); + + migrationBuilder.DropForeignKey( + name: "FK_13761f64257f40c5636d0ff95ee", + table: "note_reaction"); + + migrationBuilder.DropForeignKey( + name: "FK_45145e4953780f3cd5656f0ea6a", + table: "note_reaction"); + + migrationBuilder.DropForeignKey( + name: "FK_29c11c7deb06615076f8c95b80a", + table: "note_thread_muting"); + + migrationBuilder.DropForeignKey( + name: "FK_56b0166d34ddae49d8ef7610bb9", + table: "note_unread"); + + migrationBuilder.DropForeignKey( + name: "FK_e637cba4dc4410218c4251260e4", + table: "note_unread"); + + migrationBuilder.DropForeignKey( + name: "FK_03e7028ab8388a3f5e3ce2a8619", + table: "note_watching"); + + migrationBuilder.DropForeignKey( + name: "FK_b0134ec406e8d09a540f8182888", + table: "note_watching"); + + migrationBuilder.DropForeignKey( + name: "FK_3b4e96eec8d36a8bbb9d02aa710", + table: "notification"); + + migrationBuilder.DropForeignKey( + name: "FK_3c601b70a1066d2c8b517094cb9", + table: "notification"); + + migrationBuilder.DropForeignKey( + name: "FK_769cb6b73a1efe22ddf733ac453", + table: "notification"); + + migrationBuilder.DropForeignKey( + name: "FK_8fe87814e978053a53b1beb7e98", + table: "notification"); + + migrationBuilder.DropForeignKey( + name: "FK_bd7fab507621e635b32cd31892c", + table: "notification"); + + migrationBuilder.DropForeignKey( + name: "FK_e22bf6bda77b6adc1fd9e75c8c9", + table: "notification"); + + migrationBuilder.DropForeignKey( + name: "FK_6d3ef28ea647b1449ba79690874", + table: "oauth_token"); + + migrationBuilder.DropForeignKey( + name: "FK_f6b4b1ac66b753feab5d831ba04", + table: "oauth_token"); + + migrationBuilder.DropForeignKey( + name: "FK_a9ca79ad939bf06066b81c9d3aa", + table: "page"); + + migrationBuilder.DropForeignKey( + name: "FK_ae1d917992dd0c9d9bbdad06c4a", + table: "page"); + + migrationBuilder.DropForeignKey( + name: "FK_0e61efab7f88dbb79c9166dbb48", + table: "page_like"); + + migrationBuilder.DropForeignKey( + name: "FK_cf8782626dced3176038176a847", + table: "page_like"); + + migrationBuilder.DropForeignKey( + name: "FK_4bb7fd4a34492ae0e6cc8d30ac8", + table: "password_reset_request"); + + migrationBuilder.DropForeignKey( + name: "FK_da851e06d0dfe2ef397d8b1bf1b", + table: "poll"); + + migrationBuilder.DropForeignKey( + name: "FK_66d2bd2ee31d14bcc23069a89f8", + table: "poll_vote"); + + migrationBuilder.DropForeignKey( + name: "FK_aecfbd5ef60374918e63ee95fa7", + table: "poll_vote"); + + migrationBuilder.DropForeignKey( + name: "FK_e263909ca4fe5d57f8d4230dd5c", + table: "promo_note"); + + migrationBuilder.DropForeignKey( + name: "FK_9657d55550c3d37bfafaf7d4b05", + table: "promo_read"); + + migrationBuilder.DropForeignKey( + name: "FK_a46a1a603ecee695d7db26da5f4", + table: "promo_read"); + + migrationBuilder.DropForeignKey( + name: "FK_fb9d21ba0abb83223263df6bcb3", + table: "registry_item"); + + migrationBuilder.DropForeignKey( + name: "FK_7aa72a5fe76019bfe8e5e0e8b7d", + table: "renote_muting"); + + migrationBuilder.DropForeignKey( + name: "FK_7eac97594bcac5ffcf2068089b6", + table: "renote_muting"); + + migrationBuilder.DropForeignKey( + name: "FK_3d2f174ef04fb312fdebd0ddc53", + table: "session"); + + migrationBuilder.DropForeignKey( + name: "FK_2c308dbdc50d94dc625670055f7", + table: "signin"); + + migrationBuilder.DropForeignKey( + name: "FK_97754ca6f2baff9b4abb7f853dd", + table: "sw_subscription"); + + migrationBuilder.DropForeignKey( + name: "FK_58f5c71eaab331645112cf8cfa5", + table: "user"); + + migrationBuilder.DropForeignKey( + name: "FK_afc64b53f8db3707ceb34eb28e2", + table: "user"); + + migrationBuilder.DropForeignKey( + name: "FK_3d6b372788ab01be58853003c93", + table: "user_group"); + + migrationBuilder.DropForeignKey( + name: "FK_5cc8c468090e129857e9fecce5a", + table: "user_group_invitation"); + + migrationBuilder.DropForeignKey( + name: "FK_bfbc6305547539369fe73eb144a", + table: "user_group_invitation"); + + migrationBuilder.DropForeignKey( + name: "FK_1039988afa3bf991185b277fe03", + table: "user_group_invite"); + + migrationBuilder.DropForeignKey( + name: "FK_e10924607d058004304611a436a", + table: "user_group_invite"); + + migrationBuilder.DropForeignKey( + name: "FK_67dc758bc0566985d1b3d399865", + table: "user_group_member"); + + migrationBuilder.DropForeignKey( + name: "FK_f3a1b4bd0c7cabba958a0c0b231", + table: "user_group_member"); + + migrationBuilder.DropForeignKey( + name: "FK_f4853eb41ab722fe05f81cedeb6", + table: "user_keypair"); + + migrationBuilder.DropForeignKey( + name: "FK_b7fcefbdd1c18dce86687531f99", + table: "user_list"); + + migrationBuilder.DropForeignKey( + name: "FK_605472305f26818cc93d1baaa74", + table: "user_list_member"); + + migrationBuilder.DropForeignKey( + name: "FK_d844bfc6f3f523a05189076efaa", + table: "user_list_member"); + + migrationBuilder.DropForeignKey( + name: "FK_68881008f7c3588ad7ecae471cf", + table: "user_note_pin"); + + migrationBuilder.DropForeignKey( + name: "FK_bfbc6f79ba4007b4ce5097f08d6", + table: "user_note_pin"); + + migrationBuilder.DropForeignKey( + name: "FK_51cb79b5555effaf7d69ba1cff9", + table: "user_profile"); + + migrationBuilder.DropForeignKey( + name: "FK_6dc44f1ceb65b1e72bacef2ca27", + table: "user_profile"); + + migrationBuilder.DropForeignKey( + name: "FK_10c146e4b39b443ede016f6736d", + table: "user_publickey"); + + migrationBuilder.DropForeignKey( + name: "FK_ff9ca3b5f3ee3d0681367a9b447", + table: "user_security_key"); + + migrationBuilder.DropForeignKey( + name: "FK_f272c8c8805969e6a6449c77b3c", + table: "webhook"); + + migrationBuilder.DropPrimaryKey( + name: "PK_e6765510c2d078db49632b59020", + table: "webhook"); + + migrationBuilder.DropPrimaryKey( + name: "PK_3e508571121ab39c5f85d10c166", + table: "user_security_key"); + + migrationBuilder.DropPrimaryKey( + name: "PK_10c146e4b39b443ede016f6736d", + table: "user_publickey"); + + migrationBuilder.DropPrimaryKey( + name: "PK_51cb79b5555effaf7d69ba1cff9", + table: "user_profile"); + + migrationBuilder.DropPrimaryKey( + name: "PK_d4c84e013c98ec02d19b8fbbafa", + table: "user_pending"); + + migrationBuilder.DropPrimaryKey( + name: "PK_a6a2dad4ae000abce2ea9d9b103", + table: "user_note_pin"); + + migrationBuilder.DropPrimaryKey( + name: "PK_11abb3768da1c5f8de101c9df45", + table: "user_list_member"); + + migrationBuilder.DropPrimaryKey( + name: "PK_87bab75775fd9b1ff822b656402", + table: "user_list"); + + migrationBuilder.DropPrimaryKey( + name: "PK_f4853eb41ab722fe05f81cedeb6", + table: "user_keypair"); + + migrationBuilder.DropPrimaryKey( + name: "PK_15f2425885253c5507e1599cfe7", + table: "user_group_member"); + + migrationBuilder.DropPrimaryKey( + name: "PK_3893884af0d3a5f4d01e7921a97", + table: "user_group_invite"); + + migrationBuilder.DropPrimaryKey( + name: "PK_160c63ec02bf23f6a5c5e8140d6", + table: "user_group_invitation"); + + migrationBuilder.DropPrimaryKey( + name: "PK_3c29fba6fe013ec8724378ce7c9", + table: "user_group"); + + migrationBuilder.DropPrimaryKey( + name: "PK_cace4a159ff9f2512dd42373760", + table: "user"); + + migrationBuilder.DropPrimaryKey( + name: "PK_78fd79d2d24c6ac2f4cc9a31a5d", + table: "used_username"); + + migrationBuilder.DropPrimaryKey( + name: "PK_e8f763631530051b95eb6279b91", + table: "sw_subscription"); + + migrationBuilder.DropPrimaryKey( + name: "PK_9e96ddc025712616fc492b3b588", + table: "signin"); + + migrationBuilder.DropPrimaryKey( + name: "PK_f55da76ac1c3ac420f444d2ff11", + table: "session"); + + migrationBuilder.DropPrimaryKey( + name: "PK_renoteMuting_id", + table: "renote_muting"); + + migrationBuilder.DropPrimaryKey( + name: "PK_78ebc9cfddf4292633b7ba57aee", + table: "relay"); + + migrationBuilder.DropPrimaryKey( + name: "PK_64b3f7e6008b4d89b826cd3af95", + table: "registry_item"); + + migrationBuilder.DropPrimaryKey( + name: "PK_f11696b6fafcf3662d4292734f8", + table: "registration_ticket"); + + migrationBuilder.DropPrimaryKey( + name: "PK_61917c1541002422b703318b7c9", + table: "promo_read"); + + migrationBuilder.DropPrimaryKey( + name: "PK_e263909ca4fe5d57f8d4230dd5c", + table: "promo_note"); + + migrationBuilder.DropPrimaryKey( + name: "PK_fd002d371201c472490ba89c6a0", + table: "poll_vote"); + + migrationBuilder.DropPrimaryKey( + name: "PK_da851e06d0dfe2ef397d8b1bf1b", + table: "poll"); + + migrationBuilder.DropPrimaryKey( + name: "PK_fcf4b02eae1403a2edaf87fd074", + table: "password_reset_request"); + + migrationBuilder.DropPrimaryKey( + name: "PK_813f034843af992d3ae0f43c64c", + table: "page_like"); + + migrationBuilder.DropPrimaryKey( + name: "PK_742f4117e065c5b6ad21b37ba1f", + table: "page"); + + migrationBuilder.DropPrimaryKey( + name: "PK_7e6a25a3cc4395d1658f5b89c73", + table: "oauth_token"); + + migrationBuilder.DropPrimaryKey( + name: "PK_3256b97c0a3ee2d67240805dca4", + table: "oauth_app"); + + migrationBuilder.DropPrimaryKey( + name: "PK_705b6c7cdf9b2c2ff7ac7872cb7", + table: "notification"); + + migrationBuilder.DropPrimaryKey( + name: "PK_49286fdb23725945a74aa27d757", + table: "note_watching"); + + migrationBuilder.DropPrimaryKey( + name: "PK_1904eda61a784f57e6e51fa9c1f", + table: "note_unread"); + + migrationBuilder.DropPrimaryKey( + name: "PK_ec5936d94d1a0369646d12a3a47", + table: "note_thread_muting"); + + migrationBuilder.DropPrimaryKey( + name: "PK_767ec729b108799b587a3fcc9cf", + table: "note_reaction"); + + migrationBuilder.DropPrimaryKey( + name: "PK_af0da35a60b9fa4463a62082b36", + table: "note_favorite"); + + migrationBuilder.DropPrimaryKey( + name: "PK_736fc6e0d4e222ecc6f82058e08", + table: "note_edit"); + + migrationBuilder.DropPrimaryKey( + name: "PK_96d0c172a4fba276b1bbed43058", + table: "note"); + + migrationBuilder.DropPrimaryKey( + name: "PK_2e92d06c8b5c602eeb27ca9ba48", + table: "muting"); + + migrationBuilder.DropPrimaryKey( + name: "PK_d0adca6ecfd068db83e4526cc26", + table: "moderation_log"); + + migrationBuilder.DropPrimaryKey( + name: "PK_c4c17a6c2bd7651338b60fc590b", + table: "meta"); + + migrationBuilder.DropPrimaryKey( + name: "PK_db398fd79dc95d0eb8c30456eaa", + table: "messaging_message"); + + migrationBuilder.DropPrimaryKey( + name: "PK_eaf60e4a0c399c9935413e06474", + table: "instance"); + + migrationBuilder.DropPrimaryKey( + name: "PK_920b9474e3c9cae3f3c37c057e1", + table: "html_user_cache_entry"); + + migrationBuilder.DropPrimaryKey( + name: "PK_6ef86ec901b2017cbe82d3a8286", + table: "html_note_cache_entry"); + + migrationBuilder.DropPrimaryKey( + name: "PK_cb36eb8af8412bfa978f1165d78", + table: "hashtag"); + + migrationBuilder.DropPrimaryKey( + name: "PK_8e90d7b6015f2c4518881b14753", + table: "gallery_post"); + + migrationBuilder.DropPrimaryKey( + name: "PK_853ab02be39b8de45cd720cc15f", + table: "gallery_like"); + + migrationBuilder.DropPrimaryKey( + name: "PK_c76c6e044bdf76ecf8bfb82a645", + table: "following"); + + migrationBuilder.DropPrimaryKey( + name: "PK_53a9aa3725f7a3deb150b39dbfc", + table: "follow_request"); + + migrationBuilder.DropPrimaryKey( + name: "PK_df74ce05e24999ee01ea0bc50a3", + table: "emoji"); + + migrationBuilder.DropPrimaryKey( + name: "PK_7a0c089191f5ebdc214e0af808a", + table: "drive_folder"); + + migrationBuilder.DropPrimaryKey( + name: "PK_43ddaaaf18c9e68029b7cbb032e", + table: "drive_file"); + + migrationBuilder.DropPrimaryKey( + name: "PK_e94cda2f40a99b57e032a1a738b", + table: "clip_note"); + + migrationBuilder.DropPrimaryKey( + name: "PK_f0685dac8d4dd056d7255670b75", + table: "clip"); + + migrationBuilder.DropPrimaryKey( + name: "PK_44f7474496bcf2e4b741681146d", + table: "channel_note_pin"); + + migrationBuilder.DropPrimaryKey( + name: "PK_8b104be7f7415113f2a02cd5bdd", + table: "channel_following"); + + migrationBuilder.DropPrimaryKey( + name: "PK_590f33ee6ee7d76437acf362e39", + table: "channel"); + + migrationBuilder.DropPrimaryKey( + name: "PK_e5d9a541cc1965ee7e048ea09dd", + table: "blocking"); + + migrationBuilder.DropPrimaryKey( + name: "PK_19354ed146424a728c1112a8cbf", + table: "auth_session"); + + migrationBuilder.DropPrimaryKey( + name: "PK_d0ba6786e093f1bcb497572a6b5", + table: "attestation_challenge"); + + migrationBuilder.DropPrimaryKey( + name: "PK_9478629fc093d229df09e560aea", + table: "app"); + + migrationBuilder.DropPrimaryKey( + name: "PK_c170b99775e1dccca947c9f2d5f", + table: "antenna"); + + migrationBuilder.DropPrimaryKey( + name: "PK_4b90ad1f42681d97b2683890c5e", + table: "announcement_read"); + + migrationBuilder.DropPrimaryKey( + name: "PK_e0ef0550174fd1099a308fd18a0", + table: "announcement"); + + migrationBuilder.DropPrimaryKey( + name: "PK_f20f028607b2603deabd8182d12", + table: "access_token"); + + migrationBuilder.DropPrimaryKey( + name: "PK_87873f5f5cc5c321a1306b2d18c", + table: "abuse_user_report"); + + migrationBuilder.AddPrimaryKey( + name: "PK_webhook", + table: "webhook", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_user_security_key", + table: "user_security_key", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_user_publickey", + table: "user_publickey", + column: "userId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_user_profile", + table: "user_profile", + column: "userId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_user_pending", + table: "user_pending", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_user_note_pin", + table: "user_note_pin", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_user_list_member", + table: "user_list_member", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_user_list", + table: "user_list", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_user_keypair", + table: "user_keypair", + column: "userId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_user_group_member", + table: "user_group_member", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_user_group_invite", + table: "user_group_invite", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_user_group_invitation", + table: "user_group_invitation", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_user_group", + table: "user_group", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_user", + table: "user", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_used_username", + table: "used_username", + column: "username"); + + migrationBuilder.AddPrimaryKey( + name: "PK_sw_subscription", + table: "sw_subscription", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_signin", + table: "signin", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_session", + table: "session", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_renote_muting", + table: "renote_muting", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_relay", + table: "relay", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_registry_item", + table: "registry_item", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_registration_ticket", + table: "registration_ticket", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_promo_read", + table: "promo_read", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_promo_note", + table: "promo_note", + column: "noteId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_poll_vote", + table: "poll_vote", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_poll", + table: "poll", + column: "noteId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_password_reset_request", + table: "password_reset_request", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_page_like", + table: "page_like", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_page", + table: "page", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_oauth_token", + table: "oauth_token", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_oauth_app", + table: "oauth_app", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_notification", + table: "notification", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_note_watching", + table: "note_watching", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_note_unread", + table: "note_unread", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_note_thread_muting", + table: "note_thread_muting", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_note_reaction", + table: "note_reaction", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_note_favorite", + table: "note_favorite", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_note_edit", + table: "note_edit", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_note", + table: "note", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_muting", + table: "muting", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_moderation_log", + table: "moderation_log", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_meta", + table: "meta", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_messaging_message", + table: "messaging_message", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_instance", + table: "instance", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_html_user_cache_entry", + table: "html_user_cache_entry", + column: "userId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_html_note_cache_entry", + table: "html_note_cache_entry", + column: "noteId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_hashtag", + table: "hashtag", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_gallery_post", + table: "gallery_post", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_gallery_like", + table: "gallery_like", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_following", + table: "following", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_follow_request", + table: "follow_request", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_emoji", + table: "emoji", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_drive_folder", + table: "drive_folder", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_drive_file", + table: "drive_file", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_clip_note", + table: "clip_note", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_clip", + table: "clip", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_channel_note_pin", + table: "channel_note_pin", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_channel_following", + table: "channel_following", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_channel", + table: "channel", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_blocking", + table: "blocking", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_auth_session", + table: "auth_session", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_attestation_challenge", + table: "attestation_challenge", + columns: new[] { "id", "userId" }); + + migrationBuilder.AddPrimaryKey( + name: "PK_app", + table: "app", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_antenna", + table: "antenna", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_announcement_read", + table: "announcement_read", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_announcement", + table: "announcement", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_access_token", + table: "access_token", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_abuse_user_report", + table: "abuse_user_report", + column: "id"); + + migrationBuilder.AddForeignKey( + name: "FK_abuse_user_report_user_assigneeId", + table: "abuse_user_report", + column: "assigneeId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_abuse_user_report_user_reporterId", + table: "abuse_user_report", + column: "reporterId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_abuse_user_report_user_targetUserId", + table: "abuse_user_report", + column: "targetUserId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_access_token_app_appId", + table: "access_token", + column: "appId", + principalTable: "app", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_access_token_user_userId", + table: "access_token", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_announcement_read_announcement_announcementId", + table: "announcement_read", + column: "announcementId", + principalTable: "announcement", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_announcement_read_user_userId", + table: "announcement_read", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_antenna_user_group_member_UserGroupMemberId", + table: "antenna", + column: "UserGroupMemberId", + principalTable: "user_group_member", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_antenna_user_list_userListId", + table: "antenna", + column: "userListId", + principalTable: "user_list", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_antenna_user_userId", + table: "antenna", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_app_user_userId", + table: "app", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_attestation_challenge_user_userId", + table: "attestation_challenge", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_auth_session_app_appId", + table: "auth_session", + column: "appId", + principalTable: "app", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_auth_session_user_userId", + table: "auth_session", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_blocking_user_blockeeId", + table: "blocking", + column: "blockeeId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_blocking_user_blockerId", + table: "blocking", + column: "blockerId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_channel_drive_file_bannerId", + table: "channel", + column: "bannerId", + principalTable: "drive_file", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_channel_user_userId", + table: "channel", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_channel_following_channel_followeeId", + table: "channel_following", + column: "followeeId", + principalTable: "channel", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_channel_following_user_followerId", + table: "channel_following", + column: "followerId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_channel_note_pin_channel_channelId", + table: "channel_note_pin", + column: "channelId", + principalTable: "channel", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_channel_note_pin_note_noteId", + table: "channel_note_pin", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_clip_user_userId", + table: "clip", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_clip_note_clip_clipId", + table: "clip_note", + column: "clipId", + principalTable: "clip", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_clip_note_note_noteId", + table: "clip_note", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_drive_file_drive_folder_folderId", + table: "drive_file", + column: "folderId", + principalTable: "drive_folder", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_drive_file_user_userId", + table: "drive_file", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_drive_folder_drive_folder_parentId", + table: "drive_folder", + column: "parentId", + principalTable: "drive_folder", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_drive_folder_user_userId", + table: "drive_folder", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_follow_request_user_followeeId", + table: "follow_request", + column: "followeeId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_follow_request_user_followerId", + table: "follow_request", + column: "followerId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_following_user_followeeId", + table: "following", + column: "followeeId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_following_user_followerId", + table: "following", + column: "followerId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_gallery_like_gallery_post_postId", + table: "gallery_like", + column: "postId", + principalTable: "gallery_post", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_gallery_like_user_userId", + table: "gallery_like", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_gallery_post_user_userId", + table: "gallery_post", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_html_note_cache_entry_note_noteId", + table: "html_note_cache_entry", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_html_user_cache_entry_user_userId", + table: "html_user_cache_entry", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_messaging_message_drive_file_fileId", + table: "messaging_message", + column: "fileId", + principalTable: "drive_file", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_messaging_message_user_group_groupId", + table: "messaging_message", + column: "groupId", + principalTable: "user_group", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_messaging_message_user_recipientId", + table: "messaging_message", + column: "recipientId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_messaging_message_user_userId", + table: "messaging_message", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_moderation_log_user_userId", + table: "moderation_log", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_muting_user_muteeId", + table: "muting", + column: "muteeId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_muting_user_muterId", + table: "muting", + column: "muterId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_note_channel_channelId", + table: "note", + column: "channelId", + principalTable: "channel", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_note_note_renoteId", + table: "note", + column: "renoteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_note_note_replyId", + table: "note", + column: "replyId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_note_user_userId", + table: "note", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_note_edit_note_noteId", + table: "note_edit", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_note_favorite_note_noteId", + table: "note_favorite", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_note_favorite_user_userId", + table: "note_favorite", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_note_reaction_note_noteId", + table: "note_reaction", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_note_reaction_user_userId", + table: "note_reaction", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_note_thread_muting_user_userId", + table: "note_thread_muting", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_note_unread_note_noteId", + table: "note_unread", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_note_unread_user_userId", + table: "note_unread", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_note_watching_note_noteId", + table: "note_watching", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_note_watching_user_userId", + table: "note_watching", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_notification_access_token_appAccessTokenId", + table: "notification", + column: "appAccessTokenId", + principalTable: "access_token", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_notification_follow_request_followRequestId", + table: "notification", + column: "followRequestId", + principalTable: "follow_request", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_notification_note_noteId", + table: "notification", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_notification_user_group_invitation_userGroupInvitationId", + table: "notification", + column: "userGroupInvitationId", + principalTable: "user_group_invitation", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_notification_user_notifieeId", + table: "notification", + column: "notifieeId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_notification_user_notifierId", + table: "notification", + column: "notifierId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_oauth_token_oauth_app_appId", + table: "oauth_token", + column: "appId", + principalTable: "oauth_app", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_oauth_token_user_userId", + table: "oauth_token", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_page_drive_file_eyeCatchingImageId", + table: "page", + column: "eyeCatchingImageId", + principalTable: "drive_file", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_page_user_userId", + table: "page", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_page_like_page_pageId", + table: "page_like", + column: "pageId", + principalTable: "page", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_page_like_user_userId", + table: "page_like", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_password_reset_request_user_userId", + table: "password_reset_request", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_poll_note_noteId", + table: "poll", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_poll_vote_note_noteId", + table: "poll_vote", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_poll_vote_user_userId", + table: "poll_vote", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_promo_note_note_noteId", + table: "promo_note", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_promo_read_note_noteId", + table: "promo_read", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_promo_read_user_userId", + table: "promo_read", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_registry_item_user_userId", + table: "registry_item", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_renote_muting_user_muteeId", + table: "renote_muting", + column: "muteeId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_renote_muting_user_muterId", + table: "renote_muting", + column: "muterId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_session_user_userId", + table: "session", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_signin_user_userId", + table: "signin", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_sw_subscription_user_userId", + table: "sw_subscription", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_drive_file_avatarId", + table: "user", + column: "avatarId", + principalTable: "drive_file", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_user_drive_file_bannerId", + table: "user", + column: "bannerId", + principalTable: "drive_file", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_user_group_user_userId", + table: "user_group", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_group_invitation_user_group_userGroupId", + table: "user_group_invitation", + column: "userGroupId", + principalTable: "user_group", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_group_invitation_user_userId", + table: "user_group_invitation", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_group_invite_user_group_userGroupId", + table: "user_group_invite", + column: "userGroupId", + principalTable: "user_group", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_group_invite_user_userId", + table: "user_group_invite", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_group_member_user_group_userGroupId", + table: "user_group_member", + column: "userGroupId", + principalTable: "user_group", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_group_member_user_userId", + table: "user_group_member", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_keypair_user_userId", + table: "user_keypair", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_list_user_userId", + table: "user_list", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_list_member_user_list_userListId", + table: "user_list_member", + column: "userListId", + principalTable: "user_list", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_list_member_user_userId", + table: "user_list_member", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_note_pin_note_noteId", + table: "user_note_pin", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_note_pin_user_userId", + table: "user_note_pin", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_profile_page_pinnedPageId", + table: "user_profile", + column: "pinnedPageId", + principalTable: "page", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_user_profile_user_userId", + table: "user_profile", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_publickey_user_userId", + table: "user_publickey", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_user_security_key_user_userId", + table: "user_security_key", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_webhook_user_userId", + table: "webhook", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_abuse_user_report_user_assigneeId", + table: "abuse_user_report"); + + migrationBuilder.DropForeignKey( + name: "FK_abuse_user_report_user_reporterId", + table: "abuse_user_report"); + + migrationBuilder.DropForeignKey( + name: "FK_abuse_user_report_user_targetUserId", + table: "abuse_user_report"); + + migrationBuilder.DropForeignKey( + name: "FK_access_token_app_appId", + table: "access_token"); + + migrationBuilder.DropForeignKey( + name: "FK_access_token_user_userId", + table: "access_token"); + + migrationBuilder.DropForeignKey( + name: "FK_announcement_read_announcement_announcementId", + table: "announcement_read"); + + migrationBuilder.DropForeignKey( + name: "FK_announcement_read_user_userId", + table: "announcement_read"); + + migrationBuilder.DropForeignKey( + name: "FK_antenna_user_group_member_UserGroupMemberId", + table: "antenna"); + + migrationBuilder.DropForeignKey( + name: "FK_antenna_user_list_userListId", + table: "antenna"); + + migrationBuilder.DropForeignKey( + name: "FK_antenna_user_userId", + table: "antenna"); + + migrationBuilder.DropForeignKey( + name: "FK_app_user_userId", + table: "app"); + + migrationBuilder.DropForeignKey( + name: "FK_attestation_challenge_user_userId", + table: "attestation_challenge"); + + migrationBuilder.DropForeignKey( + name: "FK_auth_session_app_appId", + table: "auth_session"); + + migrationBuilder.DropForeignKey( + name: "FK_auth_session_user_userId", + table: "auth_session"); + + migrationBuilder.DropForeignKey( + name: "FK_blocking_user_blockeeId", + table: "blocking"); + + migrationBuilder.DropForeignKey( + name: "FK_blocking_user_blockerId", + table: "blocking"); + + migrationBuilder.DropForeignKey( + name: "FK_channel_drive_file_bannerId", + table: "channel"); + + migrationBuilder.DropForeignKey( + name: "FK_channel_user_userId", + table: "channel"); + + migrationBuilder.DropForeignKey( + name: "FK_channel_following_channel_followeeId", + table: "channel_following"); + + migrationBuilder.DropForeignKey( + name: "FK_channel_following_user_followerId", + table: "channel_following"); + + migrationBuilder.DropForeignKey( + name: "FK_channel_note_pin_channel_channelId", + table: "channel_note_pin"); + + migrationBuilder.DropForeignKey( + name: "FK_channel_note_pin_note_noteId", + table: "channel_note_pin"); + + migrationBuilder.DropForeignKey( + name: "FK_clip_user_userId", + table: "clip"); + + migrationBuilder.DropForeignKey( + name: "FK_clip_note_clip_clipId", + table: "clip_note"); + + migrationBuilder.DropForeignKey( + name: "FK_clip_note_note_noteId", + table: "clip_note"); + + migrationBuilder.DropForeignKey( + name: "FK_drive_file_drive_folder_folderId", + table: "drive_file"); + + migrationBuilder.DropForeignKey( + name: "FK_drive_file_user_userId", + table: "drive_file"); + + migrationBuilder.DropForeignKey( + name: "FK_drive_folder_drive_folder_parentId", + table: "drive_folder"); + + migrationBuilder.DropForeignKey( + name: "FK_drive_folder_user_userId", + table: "drive_folder"); + + migrationBuilder.DropForeignKey( + name: "FK_follow_request_user_followeeId", + table: "follow_request"); + + migrationBuilder.DropForeignKey( + name: "FK_follow_request_user_followerId", + table: "follow_request"); + + migrationBuilder.DropForeignKey( + name: "FK_following_user_followeeId", + table: "following"); + + migrationBuilder.DropForeignKey( + name: "FK_following_user_followerId", + table: "following"); + + migrationBuilder.DropForeignKey( + name: "FK_gallery_like_gallery_post_postId", + table: "gallery_like"); + + migrationBuilder.DropForeignKey( + name: "FK_gallery_like_user_userId", + table: "gallery_like"); + + migrationBuilder.DropForeignKey( + name: "FK_gallery_post_user_userId", + table: "gallery_post"); + + migrationBuilder.DropForeignKey( + name: "FK_html_note_cache_entry_note_noteId", + table: "html_note_cache_entry"); + + migrationBuilder.DropForeignKey( + name: "FK_html_user_cache_entry_user_userId", + table: "html_user_cache_entry"); + + migrationBuilder.DropForeignKey( + name: "FK_messaging_message_drive_file_fileId", + table: "messaging_message"); + + migrationBuilder.DropForeignKey( + name: "FK_messaging_message_user_group_groupId", + table: "messaging_message"); + + migrationBuilder.DropForeignKey( + name: "FK_messaging_message_user_recipientId", + table: "messaging_message"); + + migrationBuilder.DropForeignKey( + name: "FK_messaging_message_user_userId", + table: "messaging_message"); + + migrationBuilder.DropForeignKey( + name: "FK_moderation_log_user_userId", + table: "moderation_log"); + + migrationBuilder.DropForeignKey( + name: "FK_muting_user_muteeId", + table: "muting"); + + migrationBuilder.DropForeignKey( + name: "FK_muting_user_muterId", + table: "muting"); + + migrationBuilder.DropForeignKey( + name: "FK_note_channel_channelId", + table: "note"); + + migrationBuilder.DropForeignKey( + name: "FK_note_note_renoteId", + table: "note"); + + migrationBuilder.DropForeignKey( + name: "FK_note_note_replyId", + table: "note"); + + migrationBuilder.DropForeignKey( + name: "FK_note_user_userId", + table: "note"); + + migrationBuilder.DropForeignKey( + name: "FK_note_edit_note_noteId", + table: "note_edit"); + + migrationBuilder.DropForeignKey( + name: "FK_note_favorite_note_noteId", + table: "note_favorite"); + + migrationBuilder.DropForeignKey( + name: "FK_note_favorite_user_userId", + table: "note_favorite"); + + migrationBuilder.DropForeignKey( + name: "FK_note_reaction_note_noteId", + table: "note_reaction"); + + migrationBuilder.DropForeignKey( + name: "FK_note_reaction_user_userId", + table: "note_reaction"); + + migrationBuilder.DropForeignKey( + name: "FK_note_thread_muting_user_userId", + table: "note_thread_muting"); + + migrationBuilder.DropForeignKey( + name: "FK_note_unread_note_noteId", + table: "note_unread"); + + migrationBuilder.DropForeignKey( + name: "FK_note_unread_user_userId", + table: "note_unread"); + + migrationBuilder.DropForeignKey( + name: "FK_note_watching_note_noteId", + table: "note_watching"); + + migrationBuilder.DropForeignKey( + name: "FK_note_watching_user_userId", + table: "note_watching"); + + migrationBuilder.DropForeignKey( + name: "FK_notification_access_token_appAccessTokenId", + table: "notification"); + + migrationBuilder.DropForeignKey( + name: "FK_notification_follow_request_followRequestId", + table: "notification"); + + migrationBuilder.DropForeignKey( + name: "FK_notification_note_noteId", + table: "notification"); + + migrationBuilder.DropForeignKey( + name: "FK_notification_user_group_invitation_userGroupInvitationId", + table: "notification"); + + migrationBuilder.DropForeignKey( + name: "FK_notification_user_notifieeId", + table: "notification"); + + migrationBuilder.DropForeignKey( + name: "FK_notification_user_notifierId", + table: "notification"); + + migrationBuilder.DropForeignKey( + name: "FK_oauth_token_oauth_app_appId", + table: "oauth_token"); + + migrationBuilder.DropForeignKey( + name: "FK_oauth_token_user_userId", + table: "oauth_token"); + + migrationBuilder.DropForeignKey( + name: "FK_page_drive_file_eyeCatchingImageId", + table: "page"); + + migrationBuilder.DropForeignKey( + name: "FK_page_user_userId", + table: "page"); + + migrationBuilder.DropForeignKey( + name: "FK_page_like_page_pageId", + table: "page_like"); + + migrationBuilder.DropForeignKey( + name: "FK_page_like_user_userId", + table: "page_like"); + + migrationBuilder.DropForeignKey( + name: "FK_password_reset_request_user_userId", + table: "password_reset_request"); + + migrationBuilder.DropForeignKey( + name: "FK_poll_note_noteId", + table: "poll"); + + migrationBuilder.DropForeignKey( + name: "FK_poll_vote_note_noteId", + table: "poll_vote"); + + migrationBuilder.DropForeignKey( + name: "FK_poll_vote_user_userId", + table: "poll_vote"); + + migrationBuilder.DropForeignKey( + name: "FK_promo_note_note_noteId", + table: "promo_note"); + + migrationBuilder.DropForeignKey( + name: "FK_promo_read_note_noteId", + table: "promo_read"); + + migrationBuilder.DropForeignKey( + name: "FK_promo_read_user_userId", + table: "promo_read"); + + migrationBuilder.DropForeignKey( + name: "FK_registry_item_user_userId", + table: "registry_item"); + + migrationBuilder.DropForeignKey( + name: "FK_renote_muting_user_muteeId", + table: "renote_muting"); + + migrationBuilder.DropForeignKey( + name: "FK_renote_muting_user_muterId", + table: "renote_muting"); + + migrationBuilder.DropForeignKey( + name: "FK_session_user_userId", + table: "session"); + + migrationBuilder.DropForeignKey( + name: "FK_signin_user_userId", + table: "signin"); + + migrationBuilder.DropForeignKey( + name: "FK_sw_subscription_user_userId", + table: "sw_subscription"); + + migrationBuilder.DropForeignKey( + name: "FK_user_drive_file_avatarId", + table: "user"); + + migrationBuilder.DropForeignKey( + name: "FK_user_drive_file_bannerId", + table: "user"); + + migrationBuilder.DropForeignKey( + name: "FK_user_group_user_userId", + table: "user_group"); + + migrationBuilder.DropForeignKey( + name: "FK_user_group_invitation_user_group_userGroupId", + table: "user_group_invitation"); + + migrationBuilder.DropForeignKey( + name: "FK_user_group_invitation_user_userId", + table: "user_group_invitation"); + + migrationBuilder.DropForeignKey( + name: "FK_user_group_invite_user_group_userGroupId", + table: "user_group_invite"); + + migrationBuilder.DropForeignKey( + name: "FK_user_group_invite_user_userId", + table: "user_group_invite"); + + migrationBuilder.DropForeignKey( + name: "FK_user_group_member_user_group_userGroupId", + table: "user_group_member"); + + migrationBuilder.DropForeignKey( + name: "FK_user_group_member_user_userId", + table: "user_group_member"); + + migrationBuilder.DropForeignKey( + name: "FK_user_keypair_user_userId", + table: "user_keypair"); + + migrationBuilder.DropForeignKey( + name: "FK_user_list_user_userId", + table: "user_list"); + + migrationBuilder.DropForeignKey( + name: "FK_user_list_member_user_list_userListId", + table: "user_list_member"); + + migrationBuilder.DropForeignKey( + name: "FK_user_list_member_user_userId", + table: "user_list_member"); + + migrationBuilder.DropForeignKey( + name: "FK_user_note_pin_note_noteId", + table: "user_note_pin"); + + migrationBuilder.DropForeignKey( + name: "FK_user_note_pin_user_userId", + table: "user_note_pin"); + + migrationBuilder.DropForeignKey( + name: "FK_user_profile_page_pinnedPageId", + table: "user_profile"); + + migrationBuilder.DropForeignKey( + name: "FK_user_profile_user_userId", + table: "user_profile"); + + migrationBuilder.DropForeignKey( + name: "FK_user_publickey_user_userId", + table: "user_publickey"); + + migrationBuilder.DropForeignKey( + name: "FK_user_security_key_user_userId", + table: "user_security_key"); + + migrationBuilder.DropForeignKey( + name: "FK_webhook_user_userId", + table: "webhook"); + + migrationBuilder.DropPrimaryKey( + name: "PK_webhook", + table: "webhook"); + + migrationBuilder.DropPrimaryKey( + name: "PK_user_security_key", + table: "user_security_key"); + + migrationBuilder.DropPrimaryKey( + name: "PK_user_publickey", + table: "user_publickey"); + + migrationBuilder.DropPrimaryKey( + name: "PK_user_profile", + table: "user_profile"); + + migrationBuilder.DropPrimaryKey( + name: "PK_user_pending", + table: "user_pending"); + + migrationBuilder.DropPrimaryKey( + name: "PK_user_note_pin", + table: "user_note_pin"); + + migrationBuilder.DropPrimaryKey( + name: "PK_user_list_member", + table: "user_list_member"); + + migrationBuilder.DropPrimaryKey( + name: "PK_user_list", + table: "user_list"); + + migrationBuilder.DropPrimaryKey( + name: "PK_user_keypair", + table: "user_keypair"); + + migrationBuilder.DropPrimaryKey( + name: "PK_user_group_member", + table: "user_group_member"); + + migrationBuilder.DropPrimaryKey( + name: "PK_user_group_invite", + table: "user_group_invite"); + + migrationBuilder.DropPrimaryKey( + name: "PK_user_group_invitation", + table: "user_group_invitation"); + + migrationBuilder.DropPrimaryKey( + name: "PK_user_group", + table: "user_group"); + + migrationBuilder.DropPrimaryKey( + name: "PK_user", + table: "user"); + + migrationBuilder.DropPrimaryKey( + name: "PK_used_username", + table: "used_username"); + + migrationBuilder.DropPrimaryKey( + name: "PK_sw_subscription", + table: "sw_subscription"); + + migrationBuilder.DropPrimaryKey( + name: "PK_signin", + table: "signin"); + + migrationBuilder.DropPrimaryKey( + name: "PK_session", + table: "session"); + + migrationBuilder.DropPrimaryKey( + name: "PK_renote_muting", + table: "renote_muting"); + + migrationBuilder.DropPrimaryKey( + name: "PK_relay", + table: "relay"); + + migrationBuilder.DropPrimaryKey( + name: "PK_registry_item", + table: "registry_item"); + + migrationBuilder.DropPrimaryKey( + name: "PK_registration_ticket", + table: "registration_ticket"); + + migrationBuilder.DropPrimaryKey( + name: "PK_promo_read", + table: "promo_read"); + + migrationBuilder.DropPrimaryKey( + name: "PK_promo_note", + table: "promo_note"); + + migrationBuilder.DropPrimaryKey( + name: "PK_poll_vote", + table: "poll_vote"); + + migrationBuilder.DropPrimaryKey( + name: "PK_poll", + table: "poll"); + + migrationBuilder.DropPrimaryKey( + name: "PK_password_reset_request", + table: "password_reset_request"); + + migrationBuilder.DropPrimaryKey( + name: "PK_page_like", + table: "page_like"); + + migrationBuilder.DropPrimaryKey( + name: "PK_page", + table: "page"); + + migrationBuilder.DropPrimaryKey( + name: "PK_oauth_token", + table: "oauth_token"); + + migrationBuilder.DropPrimaryKey( + name: "PK_oauth_app", + table: "oauth_app"); + + migrationBuilder.DropPrimaryKey( + name: "PK_notification", + table: "notification"); + + migrationBuilder.DropPrimaryKey( + name: "PK_note_watching", + table: "note_watching"); + + migrationBuilder.DropPrimaryKey( + name: "PK_note_unread", + table: "note_unread"); + + migrationBuilder.DropPrimaryKey( + name: "PK_note_thread_muting", + table: "note_thread_muting"); + + migrationBuilder.DropPrimaryKey( + name: "PK_note_reaction", + table: "note_reaction"); + + migrationBuilder.DropPrimaryKey( + name: "PK_note_favorite", + table: "note_favorite"); + + migrationBuilder.DropPrimaryKey( + name: "PK_note_edit", + table: "note_edit"); + + migrationBuilder.DropPrimaryKey( + name: "PK_note", + table: "note"); + + migrationBuilder.DropPrimaryKey( + name: "PK_muting", + table: "muting"); + + migrationBuilder.DropPrimaryKey( + name: "PK_moderation_log", + table: "moderation_log"); + + migrationBuilder.DropPrimaryKey( + name: "PK_meta", + table: "meta"); + + migrationBuilder.DropPrimaryKey( + name: "PK_messaging_message", + table: "messaging_message"); + + migrationBuilder.DropPrimaryKey( + name: "PK_instance", + table: "instance"); + + migrationBuilder.DropPrimaryKey( + name: "PK_html_user_cache_entry", + table: "html_user_cache_entry"); + + migrationBuilder.DropPrimaryKey( + name: "PK_html_note_cache_entry", + table: "html_note_cache_entry"); + + migrationBuilder.DropPrimaryKey( + name: "PK_hashtag", + table: "hashtag"); + + migrationBuilder.DropPrimaryKey( + name: "PK_gallery_post", + table: "gallery_post"); + + migrationBuilder.DropPrimaryKey( + name: "PK_gallery_like", + table: "gallery_like"); + + migrationBuilder.DropPrimaryKey( + name: "PK_following", + table: "following"); + + migrationBuilder.DropPrimaryKey( + name: "PK_follow_request", + table: "follow_request"); + + migrationBuilder.DropPrimaryKey( + name: "PK_emoji", + table: "emoji"); + + migrationBuilder.DropPrimaryKey( + name: "PK_drive_folder", + table: "drive_folder"); + + migrationBuilder.DropPrimaryKey( + name: "PK_drive_file", + table: "drive_file"); + + migrationBuilder.DropPrimaryKey( + name: "PK_clip_note", + table: "clip_note"); + + migrationBuilder.DropPrimaryKey( + name: "PK_clip", + table: "clip"); + + migrationBuilder.DropPrimaryKey( + name: "PK_channel_note_pin", + table: "channel_note_pin"); + + migrationBuilder.DropPrimaryKey( + name: "PK_channel_following", + table: "channel_following"); + + migrationBuilder.DropPrimaryKey( + name: "PK_channel", + table: "channel"); + + migrationBuilder.DropPrimaryKey( + name: "PK_blocking", + table: "blocking"); + + migrationBuilder.DropPrimaryKey( + name: "PK_auth_session", + table: "auth_session"); + + migrationBuilder.DropPrimaryKey( + name: "PK_attestation_challenge", + table: "attestation_challenge"); + + migrationBuilder.DropPrimaryKey( + name: "PK_app", + table: "app"); + + migrationBuilder.DropPrimaryKey( + name: "PK_antenna", + table: "antenna"); + + migrationBuilder.DropPrimaryKey( + name: "PK_announcement_read", + table: "announcement_read"); + + migrationBuilder.DropPrimaryKey( + name: "PK_announcement", + table: "announcement"); + + migrationBuilder.DropPrimaryKey( + name: "PK_access_token", + table: "access_token"); + + migrationBuilder.DropPrimaryKey( + name: "PK_abuse_user_report", + table: "abuse_user_report"); + + migrationBuilder.AddPrimaryKey( + name: "PK_e6765510c2d078db49632b59020", + table: "webhook", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_3e508571121ab39c5f85d10c166", + table: "user_security_key", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_10c146e4b39b443ede016f6736d", + table: "user_publickey", + column: "userId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_51cb79b5555effaf7d69ba1cff9", + table: "user_profile", + column: "userId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_d4c84e013c98ec02d19b8fbbafa", + table: "user_pending", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_a6a2dad4ae000abce2ea9d9b103", + table: "user_note_pin", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_11abb3768da1c5f8de101c9df45", + table: "user_list_member", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_87bab75775fd9b1ff822b656402", + table: "user_list", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_f4853eb41ab722fe05f81cedeb6", + table: "user_keypair", + column: "userId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_15f2425885253c5507e1599cfe7", + table: "user_group_member", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_3893884af0d3a5f4d01e7921a97", + table: "user_group_invite", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_160c63ec02bf23f6a5c5e8140d6", + table: "user_group_invitation", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_3c29fba6fe013ec8724378ce7c9", + table: "user_group", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_cace4a159ff9f2512dd42373760", + table: "user", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_78fd79d2d24c6ac2f4cc9a31a5d", + table: "used_username", + column: "username"); + + migrationBuilder.AddPrimaryKey( + name: "PK_e8f763631530051b95eb6279b91", + table: "sw_subscription", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_9e96ddc025712616fc492b3b588", + table: "signin", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_f55da76ac1c3ac420f444d2ff11", + table: "session", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_renoteMuting_id", + table: "renote_muting", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_78ebc9cfddf4292633b7ba57aee", + table: "relay", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_64b3f7e6008b4d89b826cd3af95", + table: "registry_item", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_f11696b6fafcf3662d4292734f8", + table: "registration_ticket", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_61917c1541002422b703318b7c9", + table: "promo_read", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_e263909ca4fe5d57f8d4230dd5c", + table: "promo_note", + column: "noteId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_fd002d371201c472490ba89c6a0", + table: "poll_vote", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_da851e06d0dfe2ef397d8b1bf1b", + table: "poll", + column: "noteId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_fcf4b02eae1403a2edaf87fd074", + table: "password_reset_request", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_813f034843af992d3ae0f43c64c", + table: "page_like", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_742f4117e065c5b6ad21b37ba1f", + table: "page", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_7e6a25a3cc4395d1658f5b89c73", + table: "oauth_token", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_3256b97c0a3ee2d67240805dca4", + table: "oauth_app", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_705b6c7cdf9b2c2ff7ac7872cb7", + table: "notification", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_49286fdb23725945a74aa27d757", + table: "note_watching", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_1904eda61a784f57e6e51fa9c1f", + table: "note_unread", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_ec5936d94d1a0369646d12a3a47", + table: "note_thread_muting", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_767ec729b108799b587a3fcc9cf", + table: "note_reaction", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_af0da35a60b9fa4463a62082b36", + table: "note_favorite", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_736fc6e0d4e222ecc6f82058e08", + table: "note_edit", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_96d0c172a4fba276b1bbed43058", + table: "note", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_2e92d06c8b5c602eeb27ca9ba48", + table: "muting", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_d0adca6ecfd068db83e4526cc26", + table: "moderation_log", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_c4c17a6c2bd7651338b60fc590b", + table: "meta", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_db398fd79dc95d0eb8c30456eaa", + table: "messaging_message", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_eaf60e4a0c399c9935413e06474", + table: "instance", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_920b9474e3c9cae3f3c37c057e1", + table: "html_user_cache_entry", + column: "userId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_6ef86ec901b2017cbe82d3a8286", + table: "html_note_cache_entry", + column: "noteId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_cb36eb8af8412bfa978f1165d78", + table: "hashtag", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_8e90d7b6015f2c4518881b14753", + table: "gallery_post", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_853ab02be39b8de45cd720cc15f", + table: "gallery_like", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_c76c6e044bdf76ecf8bfb82a645", + table: "following", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_53a9aa3725f7a3deb150b39dbfc", + table: "follow_request", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_df74ce05e24999ee01ea0bc50a3", + table: "emoji", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_7a0c089191f5ebdc214e0af808a", + table: "drive_folder", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_43ddaaaf18c9e68029b7cbb032e", + table: "drive_file", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_e94cda2f40a99b57e032a1a738b", + table: "clip_note", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_f0685dac8d4dd056d7255670b75", + table: "clip", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_44f7474496bcf2e4b741681146d", + table: "channel_note_pin", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_8b104be7f7415113f2a02cd5bdd", + table: "channel_following", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_590f33ee6ee7d76437acf362e39", + table: "channel", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_e5d9a541cc1965ee7e048ea09dd", + table: "blocking", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_19354ed146424a728c1112a8cbf", + table: "auth_session", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_d0ba6786e093f1bcb497572a6b5", + table: "attestation_challenge", + columns: new[] { "id", "userId" }); + + migrationBuilder.AddPrimaryKey( + name: "PK_9478629fc093d229df09e560aea", + table: "app", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_c170b99775e1dccca947c9f2d5f", + table: "antenna", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_4b90ad1f42681d97b2683890c5e", + table: "announcement_read", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_e0ef0550174fd1099a308fd18a0", + table: "announcement", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_f20f028607b2603deabd8182d12", + table: "access_token", + column: "id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_87873f5f5cc5c321a1306b2d18c", + table: "abuse_user_report", + column: "id"); + + migrationBuilder.AddForeignKey( + name: "FK_04cc96756f89d0b7f9473e8cdf3", + table: "abuse_user_report", + column: "reporterId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_08b883dd5fdd6f9c4c1572b36de", + table: "abuse_user_report", + column: "assigneeId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_a9021cc2e1feb5f72d3db6e9f5f", + table: "abuse_user_report", + column: "targetUserId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_9949557d0e1b2c19e5344c171e9", + table: "access_token", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_a3ff16c90cc87a82a0b5959e560", + table: "access_token", + column: "appId", + principalTable: "app", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_603a7b1e7aa0533c6c88e9bfafe", + table: "announcement_read", + column: "announcementId", + principalTable: "announcement", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_8288151386172b8109f7239ab28", + table: "announcement_read", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_6446c571a0e8d0f05f01c789096", + table: "antenna", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_709d7d32053d0dd7620f678eeb9", + table: "antenna", + column: "userListId", + principalTable: "user_list", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_ccbf5a8c0be4511133dcc50ddeb", + table: "antenna", + column: "UserGroupMemberId", + principalTable: "user_group_member", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_3f5b0899ef90527a3462d7c2cb3", + table: "app", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_f1a461a618fa1755692d0e0d592", + table: "attestation_challenge", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_c072b729d71697f959bde66ade0", + table: "auth_session", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_dbe037d4bddd17b03a1dc778dee", + table: "auth_session", + column: "appId", + principalTable: "app", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_0627125f1a8a42c9a1929edb552", + table: "blocking", + column: "blockerId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_2cd4a2743a99671308f5417759e", + table: "blocking", + column: "blockeeId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_823bae55bd81b3be6e05cff4383", + table: "channel", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_999da2bcc7efadbfe0e92d3bc19", + table: "channel", + column: "bannerId", + principalTable: "drive_file", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_0e43068c3f92cab197c3d3cd86e", + table: "channel_following", + column: "followeeId", + principalTable: "channel", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_6d8084ec9496e7334a4602707e1", + table: "channel_following", + column: "followerId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_10b19ef67d297ea9de325cd4502", + table: "channel_note_pin", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_8125f950afd3093acb10d2db8a8", + table: "channel_note_pin", + column: "channelId", + principalTable: "channel", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_2b5ec6c574d6802c94c80313fb2", + table: "clip", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_a012eaf5c87c65da1deb5fdbfa3", + table: "clip_note", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_ebe99317bbbe9968a0c6f579adf", + table: "clip_note", + column: "clipId", + principalTable: "clip", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_860fa6f6c7df5bb887249fba22e", + table: "drive_file", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_bb90d1956dafc4068c28aa7560a", + table: "drive_file", + column: "folderId", + principalTable: "drive_folder", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_00ceffb0cdc238b3233294f08f2", + table: "drive_folder", + column: "parentId", + principalTable: "drive_folder", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_f4fc06e49c0171c85f1c48060d2", + table: "drive_folder", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_12c01c0d1a79f77d9f6c15fadd2", + table: "follow_request", + column: "followeeId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_a7fd92dd6dc519e6fb435dd108f", + table: "follow_request", + column: "followerId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_24e0042143a18157b234df186c3", + table: "following", + column: "followeeId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_6516c5a6f3c015b4eed39978be5", + table: "following", + column: "followerId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_8fd5215095473061855ceb948cf", + table: "gallery_like", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_b1cb568bfe569e47b7051699fc8", + table: "gallery_like", + column: "postId", + principalTable: "gallery_post", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_985b836dddd8615e432d7043ddb", + table: "gallery_post", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_6ef86ec901b2017cbe82d3a8286", + table: "html_note_cache_entry", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_920b9474e3c9cae3f3c37c057e1", + table: "html_user_cache_entry", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_2c4be03b446884f9e9c502135be", + table: "messaging_message", + column: "groupId", + principalTable: "user_group", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_535def119223ac05ad3fa9ef64b", + table: "messaging_message", + column: "fileId", + principalTable: "drive_file", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_5377c307783fce2b6d352e1203b", + table: "messaging_message", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_cac14a4e3944454a5ce7daa5142", + table: "messaging_message", + column: "recipientId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_a08ad074601d204e0f69da9a954", + table: "moderation_log", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_93060675b4a79a577f31d260c67", + table: "muting", + column: "muterId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_ec96b4fed9dae517e0dbbe0675c", + table: "muting", + column: "muteeId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_17cb3553c700a4985dff5a30ff5", + table: "note", + column: "replyId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_52ccc804d7c69037d558bac4c96", + table: "note", + column: "renoteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_5b87d9d19127bd5d92026017a7b", + table: "note", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_f22169eb10657bded6d875ac8f9", + table: "note", + column: "channelId", + principalTable: "channel", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_702ad5ae993a672e4fbffbcd38c", + table: "note_edit", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_0e00498f180193423c992bc4370", + table: "note_favorite", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_47f4b1892f5d6ba8efb3057d81a", + table: "note_favorite", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_13761f64257f40c5636d0ff95ee", + table: "note_reaction", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_45145e4953780f3cd5656f0ea6a", + table: "note_reaction", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_29c11c7deb06615076f8c95b80a", + table: "note_thread_muting", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_56b0166d34ddae49d8ef7610bb9", + table: "note_unread", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_e637cba4dc4410218c4251260e4", + table: "note_unread", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_03e7028ab8388a3f5e3ce2a8619", + table: "note_watching", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_b0134ec406e8d09a540f8182888", + table: "note_watching", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_3b4e96eec8d36a8bbb9d02aa710", + table: "notification", + column: "notifierId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_3c601b70a1066d2c8b517094cb9", + table: "notification", + column: "notifieeId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_769cb6b73a1efe22ddf733ac453", + table: "notification", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_8fe87814e978053a53b1beb7e98", + table: "notification", + column: "userGroupInvitationId", + principalTable: "user_group_invitation", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_bd7fab507621e635b32cd31892c", + table: "notification", + column: "followRequestId", + principalTable: "follow_request", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_e22bf6bda77b6adc1fd9e75c8c9", + table: "notification", + column: "appAccessTokenId", + principalTable: "access_token", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_6d3ef28ea647b1449ba79690874", + table: "oauth_token", + column: "appId", + principalTable: "oauth_app", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_f6b4b1ac66b753feab5d831ba04", + table: "oauth_token", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_a9ca79ad939bf06066b81c9d3aa", + table: "page", + column: "eyeCatchingImageId", + principalTable: "drive_file", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_ae1d917992dd0c9d9bbdad06c4a", + table: "page", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_0e61efab7f88dbb79c9166dbb48", + table: "page_like", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_cf8782626dced3176038176a847", + table: "page_like", + column: "pageId", + principalTable: "page", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_4bb7fd4a34492ae0e6cc8d30ac8", + table: "password_reset_request", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_da851e06d0dfe2ef397d8b1bf1b", + table: "poll", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_66d2bd2ee31d14bcc23069a89f8", + table: "poll_vote", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_aecfbd5ef60374918e63ee95fa7", + table: "poll_vote", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_e263909ca4fe5d57f8d4230dd5c", + table: "promo_note", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_9657d55550c3d37bfafaf7d4b05", + table: "promo_read", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_a46a1a603ecee695d7db26da5f4", + table: "promo_read", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_fb9d21ba0abb83223263df6bcb3", + table: "registry_item", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_7aa72a5fe76019bfe8e5e0e8b7d", + table: "renote_muting", + column: "muterId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_7eac97594bcac5ffcf2068089b6", + table: "renote_muting", + column: "muteeId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_3d2f174ef04fb312fdebd0ddc53", + table: "session", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_2c308dbdc50d94dc625670055f7", + table: "signin", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_97754ca6f2baff9b4abb7f853dd", + table: "sw_subscription", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_58f5c71eaab331645112cf8cfa5", + table: "user", + column: "avatarId", + principalTable: "drive_file", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_afc64b53f8db3707ceb34eb28e2", + table: "user", + column: "bannerId", + principalTable: "drive_file", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_3d6b372788ab01be58853003c93", + table: "user_group", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_5cc8c468090e129857e9fecce5a", + table: "user_group_invitation", + column: "userGroupId", + principalTable: "user_group", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_bfbc6305547539369fe73eb144a", + table: "user_group_invitation", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_1039988afa3bf991185b277fe03", + table: "user_group_invite", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_e10924607d058004304611a436a", + table: "user_group_invite", + column: "userGroupId", + principalTable: "user_group", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_67dc758bc0566985d1b3d399865", + table: "user_group_member", + column: "userGroupId", + principalTable: "user_group", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_f3a1b4bd0c7cabba958a0c0b231", + table: "user_group_member", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_f4853eb41ab722fe05f81cedeb6", + table: "user_keypair", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_b7fcefbdd1c18dce86687531f99", + table: "user_list", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_605472305f26818cc93d1baaa74", + table: "user_list_member", + column: "userListId", + principalTable: "user_list", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_d844bfc6f3f523a05189076efaa", + table: "user_list_member", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_68881008f7c3588ad7ecae471cf", + table: "user_note_pin", + column: "noteId", + principalTable: "note", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_bfbc6f79ba4007b4ce5097f08d6", + table: "user_note_pin", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_51cb79b5555effaf7d69ba1cff9", + table: "user_profile", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_6dc44f1ceb65b1e72bacef2ca27", + table: "user_profile", + column: "pinnedPageId", + principalTable: "page", + principalColumn: "id", + onDelete: ReferentialAction.SetNull); + + migrationBuilder.AddForeignKey( + name: "FK_10c146e4b39b443ede016f6736d", + table: "user_publickey", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_ff9ca3b5f3ee3d0681367a9b447", + table: "user_security_key", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_f272c8c8805969e6a6449c77b3c", + table: "webhook", + column: "userId", + principalTable: "user", + principalColumn: "id", + onDelete: ReferentialAction.Cascade); + } + } +} diff --git a/Iceshrimp.Backend/Core/Database/Migrations/DatabaseContextModelSnapshot.cs b/Iceshrimp.Backend/Core/Database/Migrations/DatabaseContextModelSnapshot.cs index f2ab6935..31fb2800 100644 --- a/Iceshrimp.Backend/Core/Database/Migrations/DatabaseContextModelSnapshot.cs +++ b/Iceshrimp.Backend/Core/Database/Migrations/DatabaseContextModelSnapshot.cs @@ -92,8 +92,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("targetUserId"); - b.HasKey("Id") - .HasName("PK_87873f5f5cc5c321a1306b2d18c"); + b.HasKey("Id"); b.HasIndex("AssigneeId"); @@ -184,8 +183,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_f20f028607b2603deabd8182d12"); + b.HasKey("Id"); b.HasIndex("AppId"); @@ -246,8 +244,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("updatedAt") .HasComment("The updated date of the Announcement."); - b.HasKey("Id") - .HasName("PK_e0ef0550174fd1099a308fd18a0"); + b.HasKey("Id"); b.HasIndex("CreatedAt"); @@ -278,8 +275,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_4b90ad1f42681d97b2683890c5e"); + b.HasKey("Id"); b.HasIndex("AnnouncementId"); @@ -384,8 +380,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasDefaultValue(false) .HasColumnName("withReplies"); - b.HasKey("Id") - .HasName("PK_c170b99775e1dccca947c9f2d5f"); + b.HasKey("Id"); b.HasIndex("UserGroupMemberId"); @@ -447,8 +442,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("userId") .HasComment("The owner ID."); - b.HasKey("Id") - .HasName("PK_9478629fc093d229df09e560aea"); + b.HasKey("Id"); b.HasIndex("CreatedAt"); @@ -490,8 +484,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("registrationChallenge") .HasComment("Indicates that the challenge is only for registration purposes if true to prevent the challenge for being used as authentication."); - b.HasKey("Id", "UserId") - .HasName("PK_d0ba6786e093f1bcb497572a6b5"); + b.HasKey("Id", "UserId"); b.HasIndex("Challenge"); @@ -529,8 +522,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_19354ed146424a728c1112a8cbf"); + b.HasKey("Id"); b.HasIndex("AppId"); @@ -567,8 +559,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("createdAt") .HasComment("The created date of the Blocking."); - b.HasKey("Id") - .HasName("PK_e5d9a541cc1965ee7e048ea09dd"); + b.HasKey("Id"); b.HasIndex("BlockeeId"); @@ -637,8 +628,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("usersCount") .HasComment("The count of users."); - b.HasKey("Id") - .HasName("PK_590f33ee6ee7d76437acf362e39"); + b.HasKey("Id"); b.HasIndex("BannerId"); @@ -681,8 +671,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("followerId") .HasComment("The follower user ID."); - b.HasKey("Id") - .HasName("PK_8b104be7f7415113f2a02cd5bdd"); + b.HasKey("Id"); b.HasIndex("CreatedAt"); @@ -720,8 +709,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("noteId"); - b.HasKey("Id") - .HasName("PK_44f7474496bcf2e4b741681146d"); + b.HasKey("Id"); b.HasIndex("ChannelId"); @@ -771,8 +759,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("userId") .HasComment("The owner ID."); - b.HasKey("Id") - .HasName("PK_f0685dac8d4dd056d7255670b75"); + b.HasKey("Id"); b.HasIndex("UserId"); @@ -800,8 +787,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("noteId") .HasComment("The note ID."); - b.HasKey("Id") - .HasName("PK_e94cda2f40a99b57e032a1a738b"); + b.HasKey("Id"); b.HasIndex("ClipId"); @@ -968,8 +954,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("webpublicUrl") .HasComment("The URL of the webpublic of the DriveFile."); - b.HasKey("Id") - .HasName("PK_43ddaaaf18c9e68029b7cbb032e"); + b.HasKey("Id"); b.HasIndex("AccessKey") .IsUnique(); @@ -1034,8 +1019,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("userId") .HasComment("The owner ID."); - b.HasKey("Id") - .HasName("PK_7a0c089191f5ebdc214e0af808a"); + b.HasKey("Id"); b.HasIndex("CreatedAt"); @@ -1119,8 +1103,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("width") .HasComment("Image width"); - b.HasKey("Id") - .HasName("PK_df74ce05e24999ee01ea0bc50a3"); + b.HasKey("Id"); b.HasIndex("Host"); @@ -1200,8 +1183,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("requestId") .HasComment("id of Follow Activity."); - b.HasKey("Id") - .HasName("PK_53a9aa3725f7a3deb150b39dbfc"); + b.HasKey("Id"); b.HasIndex("FolloweeId"); @@ -1275,8 +1257,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("followerSharedInbox") .HasComment("[Denormalized]"); - b.HasKey("Id") - .HasName("PK_c76c6e044bdf76ecf8bfb82a645"); + b.HasKey("Id"); b.HasIndex("CreatedAt"); @@ -1317,8 +1298,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_853ab02be39b8de45cd720cc15f"); + b.HasKey("Id"); b.HasIndex("PostId"); @@ -1392,8 +1372,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("userId") .HasComment("The ID of author."); - b.HasKey("Id") - .HasName("PK_8e90d7b6015f2c4518881b14753"); + b.HasKey("Id"); b.HasIndex("CreatedAt"); @@ -1491,8 +1470,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(128)") .HasColumnName("name"); - b.HasKey("Id") - .HasName("PK_cb36eb8af8412bfa978f1165d78"); + b.HasKey("Id"); b.HasIndex("AttachedLocalUsersCount"); @@ -1527,8 +1505,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("timestamp with time zone") .HasColumnName("updatedAt"); - b.HasKey("NoteId") - .HasName("PK_6ef86ec901b2017cbe82d3a8286"); + b.HasKey("NoteId"); b.ToTable("html_note_cache_entry"); }); @@ -1555,8 +1532,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("timestamp with time zone") .HasColumnName("updatedAt"); - b.HasKey("UserId") - .HasName("PK_920b9474e3c9cae3f3c37c057e1"); + b.HasKey("UserId"); b.ToTable("html_user_cache_entry"); }); @@ -1688,8 +1664,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("usersCount") .HasComment("The count of the users of the Instance."); - b.HasKey("Id") - .HasName("PK_eaf60e4a0c399c9935413e06474"); + b.HasKey("Id"); b.HasIndex("CaughtAt"); @@ -1760,8 +1735,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("userId") .HasComment("The sender user ID."); - b.HasKey("Id") - .HasName("PK_db398fd79dc95d0eb8c30456eaa"); + b.HasKey("Id"); b.HasIndex("CreatedAt"); @@ -2265,8 +2239,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasDefaultValue(false) .HasColumnName("useObjectStorage"); - b.HasKey("Id") - .HasName("PK_c4c17a6c2bd7651338b60fc590b"); + b.HasKey("Id"); b.ToTable("meta"); }); @@ -2300,8 +2273,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_d0adca6ecfd068db83e4526cc26"); + b.HasKey("Id"); b.HasIndex("UserId"); @@ -2338,8 +2310,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("muterId") .HasComment("The muter user ID."); - b.HasKey("Id") - .HasName("PK_2e92d06c8b5c602eeb27ca9ba48"); + b.HasKey("Id"); b.HasIndex("CreatedAt"); @@ -2548,8 +2519,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("visibleUserIds") .HasDefaultValueSql("'{}'::character varying[]"); - b.HasKey("Id") - .HasName("PK_96d0c172a4fba276b1bbed43058"); + b.HasKey("Id"); b.HasIndex("AttachedFileTypes"); @@ -2641,8 +2611,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("updatedAt") .HasComment("The updated date of the Note."); - b.HasKey("Id") - .HasName("PK_736fc6e0d4e222ecc6f82058e08"); + b.HasKey("Id"); b.HasIndex("NoteId"); @@ -2673,8 +2642,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_af0da35a60b9fa4463a62082b36"); + b.HasKey("Id"); b.HasIndex("NoteId"); @@ -2716,8 +2684,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_767ec729b108799b587a3fcc9cf"); + b.HasKey("Id"); b.HasIndex("CreatedAt"); @@ -2754,8 +2721,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_ec5936d94d1a0369646d12a3a47"); + b.HasKey("Id"); b.HasIndex("ThreadId"); @@ -2807,8 +2773,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_1904eda61a784f57e6e51fa9c1f"); + b.HasKey("Id"); b.HasIndex("IsMentioned"); @@ -2861,8 +2826,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("userId") .HasComment("The watcher ID."); - b.HasKey("Id") - .HasName("PK_49286fdb23725945a74aa27d757"); + b.HasKey("Id"); b.HasIndex("CreatedAt"); @@ -2959,8 +2923,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userGroupInvitationId"); - b.HasKey("Id") - .HasName("PK_705b6c7cdf9b2c2ff7ac7872cb7"); + b.HasKey("Id"); b.HasIndex("AppAccessTokenId"); @@ -3034,8 +2997,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("website") .HasComment("The website of the OAuth application"); - b.HasKey("Id") - .HasName("PK_3256b97c0a3ee2d67240805dca4"); + b.HasKey("Id"); b.HasIndex("ClientId") .IsUnique(); @@ -3099,8 +3061,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_7e6a25a3cc4395d1658f5b89c73"); + b.HasKey("Id"); b.HasIndex("AppId"); @@ -3218,8 +3179,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("visibleUserIds") .HasDefaultValueSql("'{}'::character varying[]"); - b.HasKey("Id") - .HasName("PK_742f4117e065c5b6ad21b37ba1f"); + b.HasKey("Id"); b.HasIndex("CreatedAt"); @@ -3262,8 +3222,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_813f034843af992d3ae0f43c64c"); + b.HasKey("Id"); b.HasIndex("PageId"); @@ -3298,8 +3257,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_fcf4b02eae1403a2edaf87fd074"); + b.HasKey("Id"); b.HasIndex("Token") .IsUnique(); @@ -3354,8 +3312,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("integer[]") .HasColumnName("votes"); - b.HasKey("NoteId") - .HasName("PK_da851e06d0dfe2ef397d8b1bf1b"); + b.HasKey("NoteId"); b.HasIndex("UserHost"); @@ -3392,8 +3349,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_fd002d371201c472490ba89c6a0"); + b.HasKey("Id"); b.HasIndex("CreatedAt"); @@ -3425,8 +3381,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("userId") .HasComment("[Denormalized]"); - b.HasKey("NoteId") - .HasName("PK_e263909ca4fe5d57f8d4230dd5c"); + b.HasKey("NoteId"); b.HasIndex("UserId"); @@ -3457,8 +3412,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_61917c1541002422b703318b7c9"); + b.HasKey("Id"); b.HasIndex("NoteId"); @@ -3487,8 +3441,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("timestamp with time zone") .HasColumnName("createdAt"); - b.HasKey("Id") - .HasName("PK_f11696b6fafcf3662d4292734f8"); + b.HasKey("Id"); b.HasIndex("Code") .IsUnique(); @@ -3546,8 +3499,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasDefaultValueSql("'{}'::jsonb") .HasComment("The value of the RegistryItem."); - b.HasKey("Id") - .HasName("PK_64b3f7e6008b4d89b826cd3af95"); + b.HasKey("Id"); b.HasIndex("Domain"); @@ -3575,8 +3527,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("relay_status_enum") .HasColumnName("status"); - b.HasKey("Id") - .HasName("PK_78ebc9cfddf4292633b7ba57aee"); + b.HasKey("Id"); b.HasIndex("Inbox") .IsUnique(); @@ -3610,8 +3561,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("muterId") .HasComment("The muter user ID."); - b.HasKey("Id") - .HasName("PK_renoteMuting_id"); + b.HasKey("Id"); b.HasIndex("CreatedAt"); @@ -3655,8 +3605,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_f55da76ac1c3ac420f444d2ff11"); + b.HasKey("Id"); b.HasIndex("Token"); @@ -3698,8 +3647,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_9e96ddc025712616fc492b3b588"); + b.HasKey("Id"); b.HasIndex("UserId"); @@ -3747,8 +3695,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_e8f763631530051b95eb6279b91"); + b.HasKey("Id"); b.HasIndex("UserId"); @@ -3766,8 +3713,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("timestamp with time zone") .HasColumnName("createdAt"); - b.HasKey("Username") - .HasName("PK_78fd79d2d24c6ac2f4cc9a31a5d"); + b.HasKey("Username"); b.ToTable("used_username"); }); @@ -4023,8 +3969,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("usernameLower") .HasComment("The username (lowercased) of the User."); - b.HasKey("Id") - .HasName("PK_cace4a159ff9f2512dd42373760"); + b.HasKey("Id"); b.HasIndex("AvatarId") .IsUnique(); @@ -4088,8 +4033,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("userId") .HasComment("The ID of owner."); - b.HasKey("Id") - .HasName("PK_3c29fba6fe013ec8724378ce7c9"); + b.HasKey("Id"); b.HasIndex("CreatedAt"); @@ -4124,8 +4068,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("userId") .HasComment("The user ID."); - b.HasKey("Id") - .HasName("PK_160c63ec02bf23f6a5c5e8140d6"); + b.HasKey("Id"); b.HasIndex("UserGroupId"); @@ -4160,8 +4103,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_3893884af0d3a5f4d01e7921a97"); + b.HasKey("Id"); b.HasIndex("UserGroupId"); @@ -4199,8 +4141,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("userId") .HasComment("The user ID."); - b.HasKey("Id") - .HasName("PK_15f2425885253c5507e1599cfe7"); + b.HasKey("Id"); b.HasIndex("UserGroupId"); @@ -4231,8 +4172,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(4096)") .HasColumnName("publicKey"); - b.HasKey("UserId") - .HasName("PK_f4853eb41ab722fe05f81cedeb6"); + b.HasKey("UserId"); b.ToTable("user_keypair"); }); @@ -4270,8 +4210,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("userId") .HasComment("The owner ID."); - b.HasKey("Id") - .HasName("PK_87bab75775fd9b1ff822b656402"); + b.HasKey("Id"); b.HasIndex("UserId"); @@ -4304,8 +4243,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("userListId") .HasComment("The list ID."); - b.HasKey("Id") - .HasName("PK_11abb3768da1c5f8de101c9df45"); + b.HasKey("Id"); b.HasIndex("UserId"); @@ -4341,8 +4279,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_a6a2dad4ae000abce2ea9d9b103"); + b.HasKey("Id"); b.HasIndex("NoteId"); @@ -4389,8 +4326,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(128)") .HasColumnName("username"); - b.HasKey("Id") - .HasName("PK_d4c84e013c98ec02d19b8fbbafa"); + b.HasKey("Id"); b.HasIndex("Code") .IsUnique(); @@ -4632,8 +4568,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("userHost") .HasComment("[Denormalized]"); - b.HasKey("UserId") - .HasName("PK_51cb79b5555effaf7d69ba1cff9"); + b.HasKey("UserId"); b.HasIndex("EnableWordMute"); @@ -4664,8 +4599,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(4096)") .HasColumnName("keyPem"); - b.HasKey("UserId") - .HasName("PK_10c146e4b39b443ede016f6736d"); + b.HasKey("UserId"); b.HasIndex("KeyId") .IsUnique(); @@ -4704,8 +4638,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnType("character varying(32)") .HasColumnName("userId"); - b.HasKey("Id") - .HasName("PK_3e508571121ab39c5f85d10c166"); + b.HasKey("Id"); b.HasIndex("PublicKey"); @@ -4773,8 +4706,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .HasColumnName("userId") .HasComment("The owner ID."); - b.HasKey("Id") - .HasName("PK_e6765510c2d078db49632b59020"); + b.HasKey("Id"); b.HasIndex("Active"); @@ -4790,22 +4722,19 @@ namespace Iceshrimp.Backend.Core.Database.Migrations b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Assignee") .WithMany("AbuseUserReportAssignees") .HasForeignKey("AssigneeId") - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_08b883dd5fdd6f9c4c1572b36de"); + .OnDelete(DeleteBehavior.SetNull); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Reporter") .WithMany("AbuseUserReportReporters") .HasForeignKey("ReporterId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_04cc96756f89d0b7f9473e8cdf3"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "TargetUser") .WithMany("AbuseUserReportTargetUsers") .HasForeignKey("TargetUserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_a9021cc2e1feb5f72d3db6e9f5f"); + .IsRequired(); b.Navigation("Assignee"); @@ -4819,15 +4748,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations b.HasOne("Iceshrimp.Backend.Core.Database.Tables.App", "App") .WithMany("AccessTokens") .HasForeignKey("AppId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_a3ff16c90cc87a82a0b5959e560"); + .OnDelete(DeleteBehavior.Cascade); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("AccessTokens") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_9949557d0e1b2c19e5344c171e9"); + .IsRequired(); b.Navigation("App"); @@ -4840,15 +4767,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("AnnouncementReads") .HasForeignKey("AnnouncementId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_603a7b1e7aa0533c6c88e9bfafe"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("AnnouncementReads") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_8288151386172b8109f7239ab28"); + .IsRequired(); b.Navigation("Announcement"); @@ -4860,21 +4785,18 @@ namespace Iceshrimp.Backend.Core.Database.Migrations b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserGroupMember", "UserGroupMember") .WithMany("Antennas") .HasForeignKey("UserGroupMemberId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_ccbf5a8c0be4511133dcc50ddeb"); + .OnDelete(DeleteBehavior.Cascade); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("Antennas") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_6446c571a0e8d0f05f01c789096"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserList", "UserList") .WithMany("Antennas") .HasForeignKey("UserListId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_709d7d32053d0dd7620f678eeb9"); + .OnDelete(DeleteBehavior.Cascade); b.Navigation("User"); @@ -4888,8 +4810,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("Apps") .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_3f5b0899ef90527a3462d7c2cb3"); + .OnDelete(DeleteBehavior.SetNull); b.Navigation("User"); }); @@ -4900,8 +4821,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("AttestationChallenges") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_f1a461a618fa1755692d0e0d592"); + .IsRequired(); b.Navigation("User"); }); @@ -4912,14 +4832,12 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("AuthSessions") .HasForeignKey("AppId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_dbe037d4bddd17b03a1dc778dee"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("AuthSessions") .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_c072b729d71697f959bde66ade0"); + .OnDelete(DeleteBehavior.Cascade); b.Navigation("App"); @@ -4932,15 +4850,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("BlockingBlockees") .HasForeignKey("BlockeeId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_2cd4a2743a99671308f5417759e"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Blocker") .WithMany("BlockingBlockers") .HasForeignKey("BlockerId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_0627125f1a8a42c9a1929edb552"); + .IsRequired(); b.Navigation("Blockee"); @@ -4952,14 +4868,12 @@ namespace Iceshrimp.Backend.Core.Database.Migrations b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFile", "Banner") .WithMany("Channels") .HasForeignKey("BannerId") - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_999da2bcc7efadbfe0e92d3bc19"); + .OnDelete(DeleteBehavior.SetNull); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("Channels") .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_823bae55bd81b3be6e05cff4383"); + .OnDelete(DeleteBehavior.SetNull); b.Navigation("Banner"); @@ -4972,15 +4886,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("ChannelFollowings") .HasForeignKey("FolloweeId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_0e43068c3f92cab197c3d3cd86e"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Follower") .WithMany("ChannelFollowings") .HasForeignKey("FollowerId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_6d8084ec9496e7334a4602707e1"); + .IsRequired(); b.Navigation("Followee"); @@ -4993,15 +4905,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("ChannelNotePins") .HasForeignKey("ChannelId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_8125f950afd3093acb10d2db8a8"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") .WithMany("ChannelNotePins") .HasForeignKey("NoteId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_10b19ef67d297ea9de325cd4502"); + .IsRequired(); b.Navigation("Channel"); @@ -5014,8 +4924,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("Clips") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_2b5ec6c574d6802c94c80313fb2"); + .IsRequired(); b.Navigation("User"); }); @@ -5026,15 +4935,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("ClipNotes") .HasForeignKey("ClipId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_ebe99317bbbe9968a0c6f579adf"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") .WithMany("ClipNotes") .HasForeignKey("NoteId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_a012eaf5c87c65da1deb5fdbfa3"); + .IsRequired(); b.Navigation("Clip"); @@ -5046,14 +4953,12 @@ namespace Iceshrimp.Backend.Core.Database.Migrations b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFolder", "Folder") .WithMany("DriveFiles") .HasForeignKey("FolderId") - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_bb90d1956dafc4068c28aa7560a"); + .OnDelete(DeleteBehavior.SetNull); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("DriveFiles") .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_860fa6f6c7df5bb887249fba22e"); + .OnDelete(DeleteBehavior.SetNull); b.Navigation("Folder"); @@ -5065,14 +4970,12 @@ namespace Iceshrimp.Backend.Core.Database.Migrations b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFolder", "Parent") .WithMany("InverseParent") .HasForeignKey("ParentId") - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_00ceffb0cdc238b3233294f08f2"); + .OnDelete(DeleteBehavior.SetNull); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("DriveFolders") .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_f4fc06e49c0171c85f1c48060d2"); + .OnDelete(DeleteBehavior.Cascade); b.Navigation("Parent"); @@ -5085,15 +4988,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("FollowRequestFollowees") .HasForeignKey("FolloweeId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_12c01c0d1a79f77d9f6c15fadd2"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Follower") .WithMany("FollowRequestFollowers") .HasForeignKey("FollowerId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_a7fd92dd6dc519e6fb435dd108f"); + .IsRequired(); b.Navigation("Followee"); @@ -5106,15 +5007,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("FollowingFollowees") .HasForeignKey("FolloweeId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_24e0042143a18157b234df186c3"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Follower") .WithMany("FollowingFollowers") .HasForeignKey("FollowerId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_6516c5a6f3c015b4eed39978be5"); + .IsRequired(); b.Navigation("Followee"); @@ -5127,15 +5026,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("GalleryLikes") .HasForeignKey("PostId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_b1cb568bfe569e47b7051699fc8"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("GalleryLikes") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_8fd5215095473061855ceb948cf"); + .IsRequired(); b.Navigation("Post"); @@ -5148,8 +5045,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("GalleryPosts") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_985b836dddd8615e432d7043ddb"); + .IsRequired(); b.Navigation("User"); }); @@ -5160,8 +5056,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithOne("HtmlNoteCacheEntry") .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.HtmlNoteCacheEntry", "NoteId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_6ef86ec901b2017cbe82d3a8286"); + .IsRequired(); b.Navigation("Note"); }); @@ -5172,8 +5067,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithOne("HtmlUserCacheEntry") .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.HtmlUserCacheEntry", "UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_920b9474e3c9cae3f3c37c057e1"); + .IsRequired(); b.Navigation("User"); }); @@ -5183,27 +5077,23 @@ namespace Iceshrimp.Backend.Core.Database.Migrations b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFile", "File") .WithMany("MessagingMessages") .HasForeignKey("FileId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_535def119223ac05ad3fa9ef64b"); + .OnDelete(DeleteBehavior.Cascade); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserGroup", "Group") .WithMany("MessagingMessages") .HasForeignKey("GroupId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_2c4be03b446884f9e9c502135be"); + .OnDelete(DeleteBehavior.Cascade); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Recipient") .WithMany("MessagingMessageRecipients") .HasForeignKey("RecipientId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_cac14a4e3944454a5ce7daa5142"); + .OnDelete(DeleteBehavior.Cascade); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("MessagingMessageUsers") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_5377c307783fce2b6d352e1203b"); + .IsRequired(); b.Navigation("File"); @@ -5220,8 +5110,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("ModerationLogs") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_a08ad074601d204e0f69da9a954"); + .IsRequired(); b.Navigation("User"); }); @@ -5232,15 +5121,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("MutingMutees") .HasForeignKey("MuteeId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_ec96b4fed9dae517e0dbbe0675c"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Muter") .WithMany("MutingMuters") .HasForeignKey("MuterId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_93060675b4a79a577f31d260c67"); + .IsRequired(); b.Navigation("Mutee"); @@ -5252,27 +5139,23 @@ namespace Iceshrimp.Backend.Core.Database.Migrations b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Channel", "Channel") .WithMany("Notes") .HasForeignKey("ChannelId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_f22169eb10657bded6d875ac8f9"); + .OnDelete(DeleteBehavior.Cascade); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Renote") .WithMany("InverseRenote") .HasForeignKey("RenoteId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_52ccc804d7c69037d558bac4c96"); + .OnDelete(DeleteBehavior.Cascade); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Reply") .WithMany("InverseReply") .HasForeignKey("ReplyId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_17cb3553c700a4985dff5a30ff5"); + .OnDelete(DeleteBehavior.Cascade); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("Notes") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_5b87d9d19127bd5d92026017a7b"); + .IsRequired(); b.Navigation("Channel"); @@ -5289,8 +5172,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("NoteEdits") .HasForeignKey("NoteId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_702ad5ae993a672e4fbffbcd38c"); + .IsRequired(); b.Navigation("Note"); }); @@ -5301,15 +5183,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("NoteFavorites") .HasForeignKey("NoteId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_0e00498f180193423c992bc4370"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("NoteFavorites") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_47f4b1892f5d6ba8efb3057d81a"); + .IsRequired(); b.Navigation("Note"); @@ -5322,15 +5202,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("NoteReactions") .HasForeignKey("NoteId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_45145e4953780f3cd5656f0ea6a"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("NoteReactions") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_13761f64257f40c5636d0ff95ee"); + .IsRequired(); b.Navigation("Note"); @@ -5343,8 +5221,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("NoteThreadMutings") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_29c11c7deb06615076f8c95b80a"); + .IsRequired(); b.Navigation("User"); }); @@ -5355,15 +5232,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("NoteUnreads") .HasForeignKey("NoteId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_e637cba4dc4410218c4251260e4"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("NoteUnreads") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_56b0166d34ddae49d8ef7610bb9"); + .IsRequired(); b.Navigation("Note"); @@ -5376,15 +5251,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("NoteWatchings") .HasForeignKey("NoteId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_03e7028ab8388a3f5e3ce2a8619"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("NoteWatchings") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_b0134ec406e8d09a540f8182888"); + .IsRequired(); b.Navigation("Note"); @@ -5396,39 +5269,33 @@ namespace Iceshrimp.Backend.Core.Database.Migrations b.HasOne("Iceshrimp.Backend.Core.Database.Tables.AccessToken", "AppAccessToken") .WithMany("Notifications") .HasForeignKey("AppAccessTokenId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_e22bf6bda77b6adc1fd9e75c8c9"); + .OnDelete(DeleteBehavior.Cascade); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.FollowRequest", "FollowRequest") .WithMany("Notifications") .HasForeignKey("FollowRequestId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_bd7fab507621e635b32cd31892c"); + .OnDelete(DeleteBehavior.Cascade); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note") .WithMany("Notifications") .HasForeignKey("NoteId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_769cb6b73a1efe22ddf733ac453"); + .OnDelete(DeleteBehavior.Cascade); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Notifiee") .WithMany("NotificationNotifiees") .HasForeignKey("NotifieeId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_3c601b70a1066d2c8b517094cb9"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Notifier") .WithMany("NotificationNotifiers") .HasForeignKey("NotifierId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_3b4e96eec8d36a8bbb9d02aa710"); + .OnDelete(DeleteBehavior.Cascade); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserGroupInvitation", "UserGroupInvitation") .WithMany("Notifications") .HasForeignKey("UserGroupInvitationId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_8fe87814e978053a53b1beb7e98"); + .OnDelete(DeleteBehavior.Cascade); b.Navigation("AppAccessToken"); @@ -5449,15 +5316,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("OauthTokens") .HasForeignKey("AppId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_6d3ef28ea647b1449ba79690874"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("OauthTokens") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_f6b4b1ac66b753feab5d831ba04"); + .IsRequired(); b.Navigation("App"); @@ -5469,15 +5334,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFile", "EyeCatchingImage") .WithMany("Pages") .HasForeignKey("EyeCatchingImageId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("FK_a9ca79ad939bf06066b81c9d3aa"); + .OnDelete(DeleteBehavior.Cascade); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("Pages") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_ae1d917992dd0c9d9bbdad06c4a"); + .IsRequired(); b.Navigation("EyeCatchingImage"); @@ -5490,15 +5353,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("PageLikes") .HasForeignKey("PageId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_cf8782626dced3176038176a847"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("PageLikes") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_0e61efab7f88dbb79c9166dbb48"); + .IsRequired(); b.Navigation("Page"); @@ -5511,8 +5372,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("PasswordResetRequests") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_4bb7fd4a34492ae0e6cc8d30ac8"); + .IsRequired(); b.Navigation("User"); }); @@ -5523,8 +5383,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithOne("Poll") .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.Poll", "NoteId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_da851e06d0dfe2ef397d8b1bf1b"); + .IsRequired(); b.Navigation("Note"); }); @@ -5535,15 +5394,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("PollVotes") .HasForeignKey("NoteId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_aecfbd5ef60374918e63ee95fa7"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("PollVotes") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_66d2bd2ee31d14bcc23069a89f8"); + .IsRequired(); b.Navigation("Note"); @@ -5556,8 +5413,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithOne("PromoNote") .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.PromoNote", "NoteId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_e263909ca4fe5d57f8d4230dd5c"); + .IsRequired(); b.Navigation("Note"); }); @@ -5568,15 +5424,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("PromoReads") .HasForeignKey("NoteId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_a46a1a603ecee695d7db26da5f4"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("PromoReads") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_9657d55550c3d37bfafaf7d4b05"); + .IsRequired(); b.Navigation("Note"); @@ -5589,8 +5443,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("RegistryItems") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_fb9d21ba0abb83223263df6bcb3"); + .IsRequired(); b.Navigation("User"); }); @@ -5601,15 +5454,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("RenoteMutingMutees") .HasForeignKey("MuteeId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_7eac97594bcac5ffcf2068089b6"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Muter") .WithMany("RenoteMutingMuters") .HasForeignKey("MuterId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_7aa72a5fe76019bfe8e5e0e8b7d"); + .IsRequired(); b.Navigation("Mutee"); @@ -5622,8 +5473,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("Sessions") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_3d2f174ef04fb312fdebd0ddc53"); + .IsRequired(); b.Navigation("User"); }); @@ -5634,8 +5484,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("Signins") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_2c308dbdc50d94dc625670055f7"); + .IsRequired(); b.Navigation("User"); }); @@ -5646,8 +5495,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("SwSubscriptions") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_97754ca6f2baff9b4abb7f853dd"); + .IsRequired(); b.Navigation("User"); }); @@ -5657,14 +5505,12 @@ namespace Iceshrimp.Backend.Core.Database.Migrations b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFile", "Avatar") .WithOne("UserAvatar") .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.User", "AvatarId") - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_58f5c71eaab331645112cf8cfa5"); + .OnDelete(DeleteBehavior.SetNull); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFile", "Banner") .WithOne("UserBanner") .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.User", "BannerId") - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_afc64b53f8db3707ceb34eb28e2"); + .OnDelete(DeleteBehavior.SetNull); b.Navigation("Avatar"); @@ -5677,8 +5523,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("UserGroups") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_3d6b372788ab01be58853003c93"); + .IsRequired(); b.Navigation("User"); }); @@ -5689,15 +5534,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("UserGroupInvitations") .HasForeignKey("UserGroupId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_5cc8c468090e129857e9fecce5a"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("UserGroupInvitations") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_bfbc6305547539369fe73eb144a"); + .IsRequired(); b.Navigation("User"); @@ -5710,15 +5553,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("UserGroupInvites") .HasForeignKey("UserGroupId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_e10924607d058004304611a436a"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("UserGroupInvites") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_1039988afa3bf991185b277fe03"); + .IsRequired(); b.Navigation("User"); @@ -5731,15 +5572,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("UserGroupMembers") .HasForeignKey("UserGroupId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_67dc758bc0566985d1b3d399865"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("UserGroupMembers") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_f3a1b4bd0c7cabba958a0c0b231"); + .IsRequired(); b.Navigation("User"); @@ -5752,8 +5591,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithOne("UserKeypair") .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.UserKeypair", "UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_f4853eb41ab722fe05f81cedeb6"); + .IsRequired(); b.Navigation("User"); }); @@ -5764,8 +5602,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("UserLists") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_b7fcefbdd1c18dce86687531f99"); + .IsRequired(); b.Navigation("User"); }); @@ -5776,15 +5613,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("UserListMembers") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_d844bfc6f3f523a05189076efaa"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserList", "UserList") .WithMany("UserListMembers") .HasForeignKey("UserListId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_605472305f26818cc93d1baaa74"); + .IsRequired(); b.Navigation("User"); @@ -5797,15 +5632,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("UserNotePins") .HasForeignKey("NoteId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_68881008f7c3588ad7ecae471cf"); + .IsRequired(); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithMany("UserNotePins") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_bfbc6f79ba4007b4ce5097f08d6"); + .IsRequired(); b.Navigation("Note"); @@ -5817,15 +5650,13 @@ namespace Iceshrimp.Backend.Core.Database.Migrations b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Page", "PinnedPage") .WithOne("UserProfile") .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.UserProfile", "PinnedPageId") - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("FK_6dc44f1ceb65b1e72bacef2ca27"); + .OnDelete(DeleteBehavior.SetNull); b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User") .WithOne("UserProfile") .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.UserProfile", "UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_51cb79b5555effaf7d69ba1cff9"); + .IsRequired(); b.Navigation("PinnedPage"); @@ -5838,8 +5669,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithOne("UserPublickey") .HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.UserPublickey", "UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_10c146e4b39b443ede016f6736d"); + .IsRequired(); b.Navigation("User"); }); @@ -5850,8 +5680,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("UserSecurityKeys") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_ff9ca3b5f3ee3d0681367a9b447"); + .IsRequired(); b.Navigation("User"); }); @@ -5862,8 +5691,7 @@ namespace Iceshrimp.Backend.Core.Database.Migrations .WithMany("Webhooks") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("FK_f272c8c8805969e6a6449c77b3c"); + .IsRequired(); b.Navigation("User"); });