diff --git a/argos/server/migrations/versions/64f73a79b7d8_add_ip_version_to_checks.py b/argos/server/migrations/versions/64f73a79b7d8_add_ip_version_to_checks.py index 6eeddb8..0cd752a 100644 --- a/argos/server/migrations/versions/64f73a79b7d8_add_ip_version_to_checks.py +++ b/argos/server/migrations/versions/64f73a79b7d8_add_ip_version_to_checks.py @@ -8,6 +8,7 @@ Create Date: 2024-12-02 14:12:40.558033 from typing import Sequence, Union from alembic import op +from sqlalchemy.dialects.postgresql import ENUM import sqlalchemy as sa @@ -19,14 +20,15 @@ depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: + enum = ENUM("4", "6", name="ip_version_enum", create_type=False) + enum.create(op.get_bind(), checkfirst=False) with op.batch_alter_table("tasks", schema=None) as batch_op: batch_op.add_column( - sa.Column( - "ip_version", sa.Enum("4", "6"), server_default="4", nullable=False - ) + sa.Column("ip_version", enum, server_default="4", nullable=False) ) def downgrade() -> None: with op.batch_alter_table("tasks", schema=None) as batch_op: batch_op.drop_column("ip_version") + ENUM(name="ip_version_enum").drop(op.get_bind(), checkfirst=False) diff --git a/argos/server/models.py b/argos/server/models.py index 6fd7b6c..c503e20 100644 --- a/argos/server/models.py +++ b/argos/server/models.py @@ -48,7 +48,7 @@ class Task(Base): url: Mapped[str] = mapped_column() domain: Mapped[str] = mapped_column() ip_version: Mapped[IPVersion] = mapped_column( - Enum("4", "6"), + Enum("4", "6", name="ip_version_enum"), ) check: Mapped[str] = mapped_column() expected: Mapped[str] = mapped_column()