diff --git a/alembic/versions/d3e4f5a6b7c8_expand_oauth_url_columns.py b/alembic/versions/d3e4f5a6b7c8_expand_oauth_url_columns.py new file mode 100644 index 0000000..58a0437 --- /dev/null +++ b/alembic/versions/d3e4f5a6b7c8_expand_oauth_url_columns.py @@ -0,0 +1,50 @@ +"""expand-oauth-url-columns + +Increase profile_url and image_url in oauth_connection to unbounded Unicode +(TEXT) to accommodate OAuth providers that return URLs longer than 512 chars. + +Revision ID: d3e4f5a6b7c8 +Revises: c2d3e4f5a6b7 +Create Date: 2026-05-13 00:00:00.000000 + +""" + +import sqlalchemy as sa + +from alembic import op + +# revision identifiers, used by Alembic. +revision = "d3e4f5a6b7c8" +down_revision = "c2d3e4f5a6b7" +branch_labels = None +depends_on = None + + +def upgrade() -> None: + op.alter_column( + "oauth_connection", + "profile_url", + type_=sa.Unicode(2048), + existing_type=sa.Unicode(512), + ) + op.alter_column( + "oauth_connection", + "image_url", + type_=sa.Unicode(2048), + existing_type=sa.Unicode(512), + ) + + +def downgrade() -> None: + op.alter_column( + "oauth_connection", + "image_url", + type_=sa.Unicode(512), + existing_type=sa.Unicode(2048), + ) + op.alter_column( + "oauth_connection", + "profile_url", + type_=sa.Unicode(512), + existing_type=sa.Unicode(2048), + ) diff --git a/src/powonline/model.py b/src/powonline/model.py index 0383970..6aad532 100644 --- a/src/powonline/model.py +++ b/src/powonline/model.py @@ -401,8 +401,8 @@ class OauthConnection(Base, TimestampMixin): # type: ignore access_token: Mapped[str | None] = mapped_column(Unicode(255)) secret: Mapped[str | None] = mapped_column(Unicode(255)) display_name: Mapped[str | None] = mapped_column(Unicode(255)) - profile_url: Mapped[str | None] = mapped_column(Unicode(512)) - image_url: Mapped[str | None] = mapped_column(Unicode(512)) + profile_url: Mapped[str | None] = mapped_column(Unicode(2048)) + image_url: Mapped[str | None] = mapped_column(Unicode(2048)) rank: Mapped[int | None] = mapped_column() user: Mapped["User"] = relationship(