fix: Resolve issue with sync migration not working for postgresql

This commit is contained in:
Igor Ilic 2025-11-05 16:05:33 +01:00
parent 9fc4199958
commit fa4c50f972

View file

@ -10,6 +10,7 @@ from typing import Sequence, Union
from alembic import op from alembic import op
import sqlalchemy as sa import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
# revision identifiers, used by Alembic. # revision identifiers, used by Alembic.
@ -27,6 +28,27 @@ def upgrade() -> None:
inspector = sa.inspect(connection) inspector = sa.inspect(connection)
if "sync_operations" not in inspector.get_table_names(): if "sync_operations" not in inspector.get_table_names():
if op.get_context().dialect.name == "postgresql":
syncstatus = postgresql.ENUM(
"STARTED",
"IN_PROGRESS",
"COMPLETED",
"FAILED",
"CANCELLED",
name="syncstatus",
create_type=False,
)
else:
syncstatus = sa.Enum(
"STARTED",
"IN_PROGRESS",
"COMPLETED",
"FAILED",
"CANCELLED",
name="syncstatus",
create_type=False,
)
# Table doesn't exist, create it normally # Table doesn't exist, create it normally
op.create_table( op.create_table(
"sync_operations", "sync_operations",
@ -34,15 +56,7 @@ def upgrade() -> None:
sa.Column("run_id", sa.Text(), nullable=True), sa.Column("run_id", sa.Text(), nullable=True),
sa.Column( sa.Column(
"status", "status",
sa.Enum( syncstatus,
"STARTED",
"IN_PROGRESS",
"COMPLETED",
"FAILED",
"CANCELLED",
name="syncstatus",
create_type=False,
),
nullable=True, nullable=True,
), ),
sa.Column("progress_percentage", sa.Integer(), nullable=True), sa.Column("progress_percentage", sa.Integer(), nullable=True),