diff --git a/alembic/versions/003_add_user_invitation_fields.py b/alembic/versions/003_add_user_invitation_fields.py index 06a0ad2..4c91a11 100644 --- a/alembic/versions/003_add_user_invitation_fields.py +++ b/alembic/versions/003_add_user_invitation_fields.py @@ -22,11 +22,24 @@ depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: - """Add optional pre-filled information fields to user_invitations""" + """Add optional pre-filled information fields to user_invitations (skip if already exists)""" + from sqlalchemy import inspect - op.add_column('user_invitations', sa.Column('first_name', sa.String(), nullable=True)) - op.add_column('user_invitations', sa.Column('last_name', sa.String(), nullable=True)) - op.add_column('user_invitations', sa.Column('phone', sa.String(), nullable=True)) + conn = op.get_bind() + inspector = inspect(conn) + existing_columns = {col['name'] for col in inspector.get_columns('user_invitations')} + + # Add first_name if missing + if 'first_name' not in existing_columns: + op.add_column('user_invitations', sa.Column('first_name', sa.String(), nullable=True)) + + # Add last_name if missing + if 'last_name' not in existing_columns: + op.add_column('user_invitations', sa.Column('last_name', sa.String(), nullable=True)) + + # Add phone if missing + if 'phone' not in existing_columns: + op.add_column('user_invitations', sa.Column('phone', sa.String(), nullable=True)) def downgrade() -> None: