mirror of
https://github.com/open-webui/open-webui
synced 2024-11-06 08:56:39 +00:00
fix: folder migration
This commit is contained in:
parent
0e56ef20cb
commit
ee2f8d3552
@ -0,0 +1,67 @@
|
|||||||
|
"""Update folder table and change DateTime to BigInteger for timestamp fields
|
||||||
|
|
||||||
|
Revision ID: 4ace53fd72c8
|
||||||
|
Revises: af906e964978
|
||||||
|
Create Date: 2024-10-23 03:00:00.000000
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
revision = "4ace53fd72c8"
|
||||||
|
down_revision = "af906e964978"
|
||||||
|
branch_labels = None
|
||||||
|
depends_on = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
# Perform safe alterations using batch operation
|
||||||
|
with op.batch_alter_table("folder", schema=None) as batch_op:
|
||||||
|
# Step 1: Remove server defaults for created_at and updated_at
|
||||||
|
batch_op.alter_column(
|
||||||
|
"created_at",
|
||||||
|
server_default=None, # Removing server default
|
||||||
|
)
|
||||||
|
batch_op.alter_column(
|
||||||
|
"updated_at",
|
||||||
|
server_default=None, # Removing server default
|
||||||
|
)
|
||||||
|
|
||||||
|
# Step 2: Change the column types to BigInteger for created_at
|
||||||
|
batch_op.alter_column(
|
||||||
|
"created_at",
|
||||||
|
type_=sa.BigInteger(),
|
||||||
|
existing_type=sa.DateTime(),
|
||||||
|
existing_nullable=False,
|
||||||
|
postgresql_using="extract(epoch from created_at)::bigint", # Conversion for PostgreSQL
|
||||||
|
)
|
||||||
|
|
||||||
|
# Change the column types to BigInteger for updated_at
|
||||||
|
batch_op.alter_column(
|
||||||
|
"updated_at",
|
||||||
|
type_=sa.BigInteger(),
|
||||||
|
existing_type=sa.DateTime(),
|
||||||
|
existing_nullable=False,
|
||||||
|
postgresql_using="extract(epoch from updated_at)::bigint", # Conversion for PostgreSQL
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
# Downgrade: Convert columns back to DateTime and restore defaults
|
||||||
|
with op.batch_alter_table("folder", schema=None) as batch_op:
|
||||||
|
batch_op.alter_column(
|
||||||
|
"created_at",
|
||||||
|
type_=sa.DateTime(),
|
||||||
|
existing_type=sa.BigInteger(),
|
||||||
|
existing_nullable=False,
|
||||||
|
server_default=sa.func.now(), # Restoring server default on downgrade
|
||||||
|
)
|
||||||
|
batch_op.alter_column(
|
||||||
|
"updated_at",
|
||||||
|
type_=sa.DateTime(),
|
||||||
|
existing_type=sa.BigInteger(),
|
||||||
|
existing_nullable=False,
|
||||||
|
server_default=sa.func.now(), # Restoring server default on downgrade
|
||||||
|
onupdate=sa.func.now(), # Restoring onupdate behavior if it was there
|
||||||
|
)
|
Loading…
Reference in New Issue
Block a user