70 lines
2.1 KiB
Python
70 lines
2.1 KiB
Python
"""identity properties jsonb to json
|
|
|
|
Revision ID: fdcdafdb11cf
|
|
Revises: 549eff097c71
|
|
Create Date: 2025-02-21 10:30:49.937854
|
|
|
|
"""
|
|
|
|
from typing import Sequence, Union
|
|
|
|
import sqlalchemy as sa
|
|
from sqlalchemy.dialects import postgresql
|
|
|
|
from alembic import op
|
|
from letta.settings import settings
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision: str = "fdcdafdb11cf"
|
|
down_revision: Union[str, None] = "549eff097c71"
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
# Skip this migration for SQLite
|
|
if not settings.letta_pg_uri_no_default:
|
|
return
|
|
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.alter_column(
|
|
"identities",
|
|
"properties",
|
|
existing_type=postgresql.JSONB(astext_type=sa.Text()),
|
|
type_=postgresql.JSON(astext_type=sa.Text()),
|
|
existing_nullable=False,
|
|
existing_server_default=sa.text("'[]'::jsonb"),
|
|
)
|
|
op.drop_constraint("unique_identifier_without_project", "identities", type_="unique")
|
|
op.create_unique_constraint(
|
|
"unique_identifier_key_project_id_organization_id",
|
|
"identities",
|
|
["identifier_key", "project_id", "organization_id"],
|
|
postgresql_nulls_not_distinct=True,
|
|
)
|
|
# ### end Alembic commands ###
|
|
|
|
|
|
def downgrade() -> None:
|
|
# Skip this migration for SQLite
|
|
if not settings.letta_pg_uri_no_default:
|
|
return
|
|
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.drop_constraint("unique_identifier_key_project_id_organization_id", "identities", type_="unique")
|
|
op.create_unique_constraint(
|
|
"unique_identifier_without_project",
|
|
"identities",
|
|
["identifier_key", "project_id", "organization_id"],
|
|
postgresql_nulls_not_distinct=True,
|
|
)
|
|
op.alter_column(
|
|
"identities",
|
|
"properties",
|
|
existing_type=postgresql.JSON(astext_type=sa.Text()),
|
|
type_=postgresql.JSONB(astext_type=sa.Text()),
|
|
existing_nullable=False,
|
|
existing_server_default=sa.text("'[]'::jsonb"),
|
|
)
|
|
# ### end Alembic commands ###
|