Add CASCADE ondelete to relevant foreign keys

Updated foreign key constraints in migration and model files to include ondelete="CASCADE" for idp_id, user_id, and token_family_id. This ensures related records are properly deleted when parent records are removed, improving data integrity and cleanup.
This commit is contained in:
João Vitória Silva
2025-12-22 22:08:56 +00:00
parent 0bc739904c
commit 0797435d4e
3 changed files with 6 additions and 3 deletions

View File

@@ -94,10 +94,12 @@ def upgrade() -> None:
sa.ForeignKeyConstraint( sa.ForeignKeyConstraint(
["idp_id"], ["idp_id"],
["identity_providers.id"], ["identity_providers.id"],
ondelete="CASCADE",
), ),
sa.ForeignKeyConstraint( sa.ForeignKeyConstraint(
["user_id"], ["user_id"],
["users.id"], ["users.id"],
ondelete="CASCADE",
), ),
sa.PrimaryKeyConstraint("id"), sa.PrimaryKeyConstraint("id"),
) )
@@ -240,6 +242,7 @@ def upgrade() -> None:
sa.ForeignKeyConstraint( sa.ForeignKeyConstraint(
["token_family_id"], ["token_family_id"],
["users_sessions.token_family_id"], ["users_sessions.token_family_id"],
ondelete="CASCADE",
), ),
sa.PrimaryKeyConstraint("id"), sa.PrimaryKeyConstraint("id"),
sa.UniqueConstraint("hashed_token"), sa.UniqueConstraint("hashed_token"),

View File

@@ -42,7 +42,7 @@ class OAuthState(Base):
idp_id = Column( idp_id = Column(
Integer, Integer,
ForeignKey("identity_providers.id"), ForeignKey("identity_providers.id", ondelete="CASCADE"),
nullable=False, nullable=False,
index=True, index=True,
comment="Identity provider ID", comment="Identity provider ID",
@@ -50,7 +50,7 @@ class OAuthState(Base):
user_id = Column( user_id = Column(
Integer, Integer,
ForeignKey("users.id"), ForeignKey("users.id", ondelete="CASCADE"),
nullable=True, nullable=True,
index=True, index=True,
comment="User ID (for link mode)", comment="User ID (for link mode)",

View File

@@ -28,7 +28,7 @@ class RotatedRefreshToken(Base):
id = Column(Integer, primary_key=True, autoincrement=True) id = Column(Integer, primary_key=True, autoincrement=True)
token_family_id = Column( token_family_id = Column(
String(36), String(36),
ForeignKey("users_sessions.token_family_id"), ForeignKey("users_sessions.token_family_id", ondelete="CASCADE"),
nullable=False, nullable=False,
index=True, index=True,
comment="UUID of the token family", comment="UUID of the token family",