feat(bot): Add bans migration script.

This commit is contained in:
Nyeki.py
2024-10-17 01:44:28 -03:00
parent c745df0a9d
commit 0335c77e84
6 changed files with 857 additions and 10 deletions
@@ -0,0 +1,11 @@
from tortoise import BaseDBAsyncClient
async def upgrade(db: BaseDBAsyncClient) -> str:
return """
ALTER TABLE "ban" ALTER COLUMN "banned_by_id" DROP NOT NULL;"""
async def downgrade(db: BaseDBAsyncClient) -> str:
return """
ALTER TABLE "ban" ALTER COLUMN "banned_by_id" SET NOT NULL;"""
@@ -0,0 +1,11 @@
from tortoise import BaseDBAsyncClient
async def upgrade(db: BaseDBAsyncClient) -> str:
return """
ALTER TABLE "ban" DROP CONSTRAINT "ban_user_id_fkey";"""
async def downgrade(db: BaseDBAsyncClient) -> str:
return """
ALTER TABLE "ban" ADD CONSTRAINT "ban_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "user" ("id") ON DELETE NO ACTION;"""
+2 -4
View File
@@ -324,9 +324,7 @@ class BanStatus(enum.IntEnum):
class Ban(models.Model):
user: fields.ForeignKeyRelation["User"] = fields.ForeignKeyField(
"models.User", related_name="bans", on_delete=fields.OnDelete.NO_ACTION
)
user_id: int = fields.BigIntField()
report: fields.ForeignKeyNullableRelation["Report"] = fields.ForeignKeyField(
"models.Report",
related_name="bans",
@@ -338,7 +336,7 @@ class Ban(models.Model):
appeal: str | None = fields.CharField(max_length=500, null=True)
status: BanStatus = fields.IntEnumField(BanStatus, default=BanStatus.VALID)
banned_by: fields.ForeignKeyRelation["User"] = fields.ForeignKeyField(
"models.User", related_name="bans_created"
"models.User", related_name="bans_created", null=True
)
created_at: datetime = fields.DatetimeField(auto_now_add=True)
expires_at: datetime | None = fields.DatetimeField(null=True)