fix: drop server_default before dropping enum type in migration 008
This commit is contained in:
parent
63225a3559
commit
7127237afe
1 changed files with 9 additions and 5 deletions
|
|
@ -18,7 +18,10 @@ depends_on = None
|
|||
|
||||
|
||||
def upgrade() -> None:
|
||||
# 1. Convert column to text to break free of the old enum
|
||||
# 1. Drop server default (it references the old enum type)
|
||||
op.alter_column("source_videos", "processing_status", server_default=None)
|
||||
|
||||
# 2. Convert column to text to break free of the old enum
|
||||
op.alter_column(
|
||||
"source_videos", "processing_status",
|
||||
type_=sa.Text(),
|
||||
|
|
@ -26,23 +29,23 @@ def upgrade() -> None:
|
|||
postgresql_using="processing_status::text",
|
||||
)
|
||||
|
||||
# 2. Drop old enum type
|
||||
# 3. Drop old enum type
|
||||
op.execute("DROP TYPE IF EXISTS processing_status")
|
||||
|
||||
# 3. Rename values in the text column
|
||||
# 4. Rename values in the text column
|
||||
op.execute("UPDATE source_videos SET processing_status = 'not_started' WHERE processing_status = 'pending'")
|
||||
op.execute("UPDATE source_videos SET processing_status = 'queued' WHERE processing_status = 'transcribed'")
|
||||
op.execute("UPDATE source_videos SET processing_status = 'processing' WHERE processing_status = 'extracted'")
|
||||
op.execute("UPDATE source_videos SET processing_status = 'complete' WHERE processing_status = 'published'")
|
||||
|
||||
# 4. Create new enum type
|
||||
# 5. Create new enum type
|
||||
processing_status = sa.Enum(
|
||||
"not_started", "queued", "processing", "error", "complete",
|
||||
name="processing_status",
|
||||
)
|
||||
processing_status.create(op.get_bind(), checkfirst=True)
|
||||
|
||||
# 5. Convert column back to enum
|
||||
# 6. Convert column back to enum with new default
|
||||
op.alter_column(
|
||||
"source_videos", "processing_status",
|
||||
type_=processing_status,
|
||||
|
|
@ -53,6 +56,7 @@ def upgrade() -> None:
|
|||
|
||||
|
||||
def downgrade() -> None:
|
||||
op.alter_column("source_videos", "processing_status", server_default=None)
|
||||
op.alter_column(
|
||||
"source_videos", "processing_status",
|
||||
type_=sa.Text(),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue