Index: ChapterX.Infrastructure/Data/DataContext/ApplicationDbContext.cs
===================================================================
--- ChapterX.Infrastructure/Data/DataContext/ApplicationDbContext.cs	(revision 99c1e45f4ac45a164229bc6f60f3b05bc26df047)
+++ ChapterX.Infrastructure/Data/DataContext/ApplicationDbContext.cs	(revision e882b92860e1899312f197af1134bb0f33d30d15)
@@ -19,5 +19,4 @@
         public DbSet<Likes> Likes { get; init; }
         public DbSet<Collaboration> Collaborations { get; init; }
-        public DbSet<Notify> Notifies { get; init; }
         public DbSet<AISuggestion> AISuggestions { get; init; }
         public DbSet<Admin> Admins { get; init; }
@@ -26,9 +25,4 @@
         public DbSet<HasGenre> HasGenres { get; init; }
         public DbSet<NeedApproval> NeedApprovals { get; init; }
-        public DbSet<Status> Statuses { get; init; }
-        public DbSet<ContentType> ContentTypes { get; init; }
-        public DbSet<SuggestionType> SuggestionTypes { get; init; }
-        public DbSet<Roles> Roles { get; init; }
-        public DbSet<PermissionLevel> PermissionLevels { get; init; }
 
         public Task<IDbContextTransaction> BeginTransactionAsync(CancellationToken cancellationToken = default)
@@ -60,4 +54,5 @@
                 e.HasKey(x => x.Id);
                 e.Property(x => x.Id).HasColumnName("user_id");
+                e.Property(x => x.AssignedAt).HasColumnName("assigned_at");
                 e.HasOne(x => x.User).WithOne(u => u.Admin).HasForeignKey<Admin>(x => x.Id);
             });
@@ -69,4 +64,5 @@
                 e.HasKey(x => x.Id);
                 e.Property(x => x.Id).HasColumnName("user_id");
+                e.Property(x => x.JoinedAt).HasColumnName("joined_at");
                 e.HasOne(x => x.User).WithOne(u => u.RegularUser).HasForeignKey<RegularUser>(x => x.Id);
             });
@@ -78,4 +74,5 @@
                 e.HasKey(x => x.Id);
                 e.Property(x => x.Id).HasColumnName("user_id");
+                e.Property(x => x.Bio).HasColumnName("bio");
                 e.HasOne(x => x.User).WithOne(u => u.Writer).HasForeignKey<Writer>(x => x.Id);
             });
@@ -92,19 +89,9 @@
                 e.Property(x => x.Image).HasColumnName("image");
                 e.Property(x => x.Content).HasColumnName("story_content");
+                e.Property(x => x.Status).HasColumnName("status");
                 e.Property(x => x.UserId).HasColumnName("user_id");
                 e.Property(x => x.CreatedAt).HasColumnName("story_created_at");
                 e.Property(x => x.UpdatedAt).HasColumnName("story_updated_at");
                 e.HasOne(x => x.Writer).WithMany(w => w.Stories).HasForeignKey(x => x.UserId);
-            });
-
-            // STATUS
-            modelBuilder.Entity<Status>(e =>
-            {
-                e.ToTable("status");
-                e.HasKey(x => new { x.StoryId, x.StatusValue });
-                e.Ignore(x => x.Id);
-                e.Property(x => x.StoryId).HasColumnName("story_id");
-                e.Property(x => x.StatusValue).HasColumnName("status");
-                e.HasOne(x => x.Story).WithMany(s => s.Statuses).HasForeignKey(x => x.StoryId);
             });
 
@@ -158,5 +145,5 @@
                 e.Property(x => x.UserId).HasColumnName("user_id");
                 e.Property(x => x.StoryId).HasColumnName("story_id");
-                e.Property(x => x.CreatedAt).HasColumnName("like_created_at");
+                e.Property(x => x.LikedAt).HasColumnName("liked_at");
                 e.HasOne(x => x.User).WithMany(u => u.Likes).HasForeignKey(x => x.UserId);
                 e.HasOne(x => x.Story).WithMany(s => s.Likes).HasForeignKey(x => x.StoryId);
@@ -213,34 +200,13 @@
                 e.Property(x => x.Id).HasColumnName("notification_id");
                 e.Property(x => x.Content).HasColumnName("notification_content");
+                e.Property(x => x.ContentType).HasColumnName("content_type");
                 e.Property(x => x.IsRead).HasColumnName("is_read");
+                e.Property(x => x.Link).HasColumnName("link");
+                e.Property(x => x.UserId).HasColumnName("user_id");
+                e.Property(x => x.StoryId).HasColumnName("story_id");
                 e.Property(x => x.CreatedAt).HasColumnName("notification_created_at");
-                e.Property(x => x.RecipientUserId).HasColumnName("recipient_user_id");
-                e.Property(x => x.Type).HasColumnName("type");
-                e.Property(x => x.Link).HasColumnName("link");
-            });
-
-            // CONTENT_TYPE
-            modelBuilder.Entity<ContentType>(e =>
-            {
-                e.ToTable("content_type");
-                e.HasKey(x => new { x.NotificationId, x.ContentTypeValue });
-                e.Ignore(x => x.Id);
-                e.Property(x => x.NotificationId).HasColumnName("notification_id");
-                e.Property(x => x.ContentTypeValue).HasColumnName("content_type");
-                e.HasOne(x => x.Notification).WithMany(n => n.ContentTypes).HasForeignKey(x => x.NotificationId);
-            });
-
-            // NOTIFY
-            modelBuilder.Entity<Notify>(e =>
-            {
-                e.ToTable("notify");
-                e.HasKey(x => new { x.UserId, x.StoryId, x.NotificationId });
-                e.Ignore(x => x.Id);
-                e.Property(x => x.UserId).HasColumnName("user_id");
-                e.Property(x => x.StoryId).HasColumnName("story_id");
-                e.Property(x => x.NotificationId).HasColumnName("notification_id");
-                e.HasOne(x => x.User).WithMany(u => u.Notifies).HasForeignKey(x => x.UserId);
-                e.HasOne(x => x.Story).WithMany(s => s.Notifies).HasForeignKey(x => x.StoryId);
-                e.HasOne(x => x.Notification).WithMany(n => n.Notifies).HasForeignKey(x => x.NotificationId);
+                e.HasOne(x => x.User).WithMany(u => u.Notifications).HasForeignKey(x => x.UserId);
+                e.HasOne(x => x.Story).WithMany(s => s.Notifications).HasForeignKey(x => x.StoryId)
+                    .IsRequired(false).OnDelete(DeleteBehavior.SetNull);
             });
 
@@ -253,4 +219,5 @@
                 e.Property(x => x.OriginalText).HasColumnName("original_text");
                 e.Property(x => x.SuggestedText).HasColumnName("suggested_text");
+                e.Property(x => x.SuggestionType).HasColumnName("suggestion_type");
                 e.Property(x => x.Accepted).HasColumnName("accepted");
                 e.Property(x => x.CreatedAt).HasColumnName("suggestion_created_at");
@@ -258,15 +225,4 @@
                 e.Property(x => x.StoryId).HasColumnName("story_id");
                 e.HasOne(x => x.Story).WithMany(s => s.AISuggestions).HasForeignKey(x => x.StoryId);
-            });
-
-            // SUGGESTION_TYPE
-            modelBuilder.Entity<SuggestionType>(e =>
-            {
-                e.ToTable("suggestion_type");
-                e.HasKey(x => new { x.SuggestionId, x.SuggestionTypeValue });
-                e.Ignore(x => x.Id);
-                e.Property(x => x.SuggestionId).HasColumnName("suggestion_id");
-                e.Property(x => x.SuggestionTypeValue).HasColumnName("suggestion_type");
-                e.HasOne(x => x.AISuggestion).WithMany(a => a.SuggestionTypes).HasForeignKey(x => x.SuggestionId);
             });
 
@@ -293,30 +249,10 @@
                 e.Property(x => x.UserId).HasColumnName("user_id");
                 e.Property(x => x.StoryId).HasColumnName("story_id");
+                e.Property(x => x.Role).HasColumnName("role");
+                e.Property(x => x.PermissionLevel).HasColumnName("permission_level");
                 e.Property(x => x.CreatedAt).HasColumnName("collab_created_at");
                 e.HasOne(x => x.User).WithMany(u => u.Collaborations).HasForeignKey(x => x.UserId);
                 e.HasOne(x => x.Story).WithMany(s => s.Collaborations).HasForeignKey(x => x.StoryId);
             });
-
-            // ROLES
-            modelBuilder.Entity<Roles>(e =>
-            {
-                e.ToTable("roles");
-                e.HasKey(x => new { x.UserId, x.StoryId, x.RoleValue });
-                e.Ignore(x => x.Id);
-                e.Property(x => x.UserId).HasColumnName("user_id");
-                e.Property(x => x.StoryId).HasColumnName("story_id");
-                e.Property(x => x.RoleValue).HasColumnName("roles");
-            });
-
-            // PERMISSION_LEVEL
-            modelBuilder.Entity<PermissionLevel>(e =>
-            {
-                e.ToTable("permission_level");
-                e.HasKey(x => new { x.UserId, x.StoryId, x.Level });
-                e.Ignore(x => x.Id);
-                e.Property(x => x.UserId).HasColumnName("user_id");
-                e.Property(x => x.StoryId).HasColumnName("story_id");
-                e.Property(x => x.Level).HasColumnName("permission_level");
-            });
         }
     }
