From d75f70c431607b04421fb1e7cb34ff1a0e0e99e2 Mon Sep 17 00:00:00 2001 From: Aevann1 <59999695+Aevann1@users.noreply.github.com> Date: Mon, 14 Feb 2022 14:25:44 -0800 Subject: [PATCH] Many to many (#210) * 8 legs of love * 8 legs of love 2 --- files/classes/alts.py | 5 ++--- files/classes/badges.py | 5 ++--- files/classes/comment.py | 5 ++--- files/classes/domains.py | 3 +-- files/classes/flags.py | 10 ++++------ files/classes/subscriptions.py | 10 ++++------ files/classes/user.py | 5 ++--- files/classes/userblock.py | 5 ++--- files/classes/votes.py | 10 ++++------ 9 files changed, 23 insertions(+), 35 deletions(-) diff --git a/files/classes/alts.py b/files/classes/alts.py index bd3c05eac..7ee7561a8 100644 --- a/files/classes/alts.py +++ b/files/classes/alts.py @@ -5,9 +5,8 @@ from files.__main__ import Base class Alt(Base): __tablename__ = "alts" - id = Column(Integer, primary_key=True) - user1 = Column(Integer, ForeignKey("users.id")) - user2 = Column(Integer, ForeignKey("users.id")) + user1 = Column(Integer, ForeignKey("users.id"), primary_key=True) + user2 = Column(Integer, ForeignKey("users.id"), primary_key=True) is_manual = Column(Boolean, default=False) def __repr__(self): diff --git a/files/classes/badges.py b/files/classes/badges.py index 6b88898a0..b0afe3079 100644 --- a/files/classes/badges.py +++ b/files/classes/badges.py @@ -22,9 +22,8 @@ class Badge(Base): __tablename__ = "badges" - id = Column(Integer, primary_key=True) - user_id = Column(Integer, ForeignKey('users.id')) - badge_id = Column(Integer, ForeignKey('badge_defs.id')) + user_id = Column(Integer, ForeignKey('users.id'), primary_key=True) + badge_id = Column(Integer, ForeignKey('badge_defs.id'), primary_key=True) description = Column(String) url = Column(String) diff --git a/files/classes/comment.py b/files/classes/comment.py index 270114c4b..a5f2da283 100644 --- a/files/classes/comment.py +++ b/files/classes/comment.py @@ -446,9 +446,8 @@ class Notification(Base): __tablename__ = "notifications" - id = Column(Integer, primary_key=True) - user_id = Column(Integer, ForeignKey("users.id")) - comment_id = Column(Integer, ForeignKey("comments.id")) + user_id = Column(Integer, ForeignKey("users.id"), primary_key=True) + comment_id = Column(Integer, ForeignKey("comments.id"), primary_key=True) read = Column(Boolean, default=False) comment = relationship("Comment", viewonly=True) diff --git a/files/classes/domains.py b/files/classes/domains.py index 3755cdaef..4dd7c7225 100644 --- a/files/classes/domains.py +++ b/files/classes/domains.py @@ -4,6 +4,5 @@ from files.__main__ import Base class BannedDomain(Base): __tablename__ = "banneddomains" - id = Column(Integer, primary_key=True) - domain = Column(String) + domain = Column(String, primary_key=True) reason = Column(String) \ No newline at end of file diff --git a/files/classes/flags.py b/files/classes/flags.py index fa88ffd0b..98acd537c 100644 --- a/files/classes/flags.py +++ b/files/classes/flags.py @@ -9,9 +9,8 @@ class Flag(Base): __tablename__ = "flags" - id = Column(Integer, primary_key=True) - post_id = Column(Integer, ForeignKey("submissions.id")) - user_id = Column(Integer, ForeignKey("users.id")) + post_id = Column(Integer, ForeignKey("submissions.id"), primary_key=True) + user_id = Column(Integer, ForeignKey("users.id"), primary_key=True) reason = Column(String) user = relationship("User", primaryjoin = "Flag.user_id == User.id", uselist = False, viewonly=True) @@ -39,9 +38,8 @@ class CommentFlag(Base): __tablename__ = "commentflags" - id = Column(Integer, primary_key=True) - user_id = Column(Integer, ForeignKey("users.id")) - comment_id = Column(Integer, ForeignKey("comments.id")) + user_id = Column(Integer, ForeignKey("users.id"), primary_key=True) + comment_id = Column(Integer, ForeignKey("comments.id"), primary_key=True) reason = Column(String) user = relationship("User", primaryjoin = "CommentFlag.user_id == User.id", uselist = False, viewonly=True) diff --git a/files/classes/subscriptions.py b/files/classes/subscriptions.py index 109cd81b0..659ba04a5 100644 --- a/files/classes/subscriptions.py +++ b/files/classes/subscriptions.py @@ -5,9 +5,8 @@ from files.__main__ import Base class Subscription(Base): __tablename__ = "subscriptions" - id = Column(Integer, primary_key=True) - user_id = Column(Integer, ForeignKey("users.id")) - submission_id = Column(Integer, ForeignKey("submissions.id")) + user_id = Column(Integer, ForeignKey("users.id"), primary_key=True) + submission_id = Column(Integer, ForeignKey("submissions.id"), primary_key=True) user = relationship("User", uselist=False, viewonly=True) @@ -20,9 +19,8 @@ class Subscription(Base): class Follow(Base): __tablename__ = "follows" - id = Column(Integer, primary_key=True) - user_id = Column(Integer, ForeignKey("users.id")) - target_id = Column(Integer, ForeignKey("users.id")) + user_id = Column(Integer, ForeignKey("users.id"), primary_key=True) + target_id = Column(Integer, ForeignKey("users.id"), primary_key=True) user = relationship("User", uselist=False, primaryjoin="User.id==Follow.user_id", viewonly=True) target = relationship("User", primaryjoin="User.id==Follow.target_id", viewonly=True) diff --git a/files/classes/user.py b/files/classes/user.py index 0b76833dd..d50e5f22e 100644 --- a/files/classes/user.py +++ b/files/classes/user.py @@ -642,9 +642,8 @@ class ViewerRelationship(Base): __tablename__ = "viewers" - id = Column(Integer, Sequence('viewers_id_seq'), primary_key=True) - user_id = Column(Integer, ForeignKey('users.id')) - viewer_id = Column(Integer, ForeignKey('users.id')) + user_id = Column(Integer, ForeignKey('users.id'), primary_key=True) + viewer_id = Column(Integer, ForeignKey('users.id'), primary_key=True) last_view_utc = Column(Integer) viewer = relationship("User", primaryjoin="ViewerRelationship.viewer_id == User.id", viewonly=True) diff --git a/files/classes/userblock.py b/files/classes/userblock.py index cffba1226..f96831129 100644 --- a/files/classes/userblock.py +++ b/files/classes/userblock.py @@ -5,9 +5,8 @@ from files.__main__ import Base class UserBlock(Base): __tablename__ = "userblocks" - id = Column(Integer, primary_key=True) - user_id = Column(Integer, ForeignKey("users.id")) - target_id = Column(Integer, ForeignKey("users.id")) + user_id = Column(Integer, ForeignKey("users.id"), primary_key=True) + target_id = Column(Integer, ForeignKey("users.id"), primary_key=True) user = relationship("User", primaryjoin="User.id==UserBlock.user_id", viewonly=True) target = relationship("User", primaryjoin="User.id==UserBlock.target_id", viewonly=True) diff --git a/files/classes/votes.py b/files/classes/votes.py index 5cb36ec18..aa2a91154 100644 --- a/files/classes/votes.py +++ b/files/classes/votes.py @@ -9,10 +9,9 @@ class Vote(Base): __tablename__ = "votes" - id = Column(Integer, primary_key=True) - user_id = Column(Integer, ForeignKey("users.id")) + user_id = Column(Integer, ForeignKey("users.id"), primary_key=True) + submission_id = Column(Integer, ForeignKey("submissions.id"), primary_key=True) vote_type = Column(Integer) - submission_id = Column(Integer, ForeignKey("submissions.id")) app_id = Column(Integer, ForeignKey("oauth_apps.id")) real = Column(Boolean, default=True) created_utc = Column(Integer) @@ -51,10 +50,9 @@ class CommentVote(Base): __tablename__ = "commentvotes" - id = Column(Integer, primary_key=True) - user_id = Column(Integer, ForeignKey("users.id")) + user_id = Column(Integer, ForeignKey("users.id"), primary_key=True) + comment_id = Column(Integer, ForeignKey("comments.id"), primary_key=True) vote_type = Column(Integer) - comment_id = Column(Integer, ForeignKey("comments.id")) app_id = Column(Integer, ForeignKey("oauth_apps.id")) real = Column(Boolean, default=True) created_utc = Column(Integer)