18204628cc
- Rename 2026_05_27_make_project_id_nullable to 2026_05_27_external_repos (33 chars exceeded VARCHAR(32) limit in alembic_version table) - Add alembic_version column expansion to VARCHAR(64) in migration - Ensure future migrations won't hit the 32 char limit
42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
"""make_project_id_nullable_in_git_repositories
|
|
|
|
Revision ID: 2026_05_27_external_repos
|
|
Revises: 2026_05_26_add_git_mounts
|
|
Create Date: 2026-05-27 08:30:00.000000
|
|
|
|
"""
|
|
from typing import Sequence, Union
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision: str = "2026_05_27_external_repos"
|
|
down_revision: Union[str, Sequence[str], None] = "2026_05_26_add_git_mounts"
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
# Expand alembic_version version_num to avoid truncation errors
|
|
op.execute("ALTER TABLE alembic_version ALTER COLUMN version_num TYPE VARCHAR(64)")
|
|
|
|
# Make project_id nullable to allow external repositories
|
|
op.alter_column(
|
|
"git_repositories",
|
|
"project_id",
|
|
existing_type=sa.UUID(),
|
|
nullable=True,
|
|
)
|
|
|
|
|
|
def downgrade() -> None:
|
|
op.alter_column(
|
|
"git_repositories",
|
|
"project_id",
|
|
existing_type=sa.UUID(),
|
|
nullable=False,
|
|
)
|
|
op.execute("ALTER TABLE alembic_version ALTER COLUMN version_num TYPE VARCHAR(32)")
|