feat(bot): Add bans migration script.
This commit is contained in:
@@ -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;"""
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user