diff --git a/alembic/versions/74b6ccfaee8e_add_module_registry.py b/alembic/versions/74b6ccfaee8e_add_module_registry.py index 22aa491..3544e6c 100644 --- a/alembic/versions/74b6ccfaee8e_add_module_registry.py +++ b/alembic/versions/74b6ccfaee8e_add_module_registry.py @@ -113,8 +113,19 @@ def upgrade() -> None: op.create_index(op.f('ix_accesses_module_id'), 'accesses', ['module_id'], unique=False) op.create_index(op.f('ix_accesses_scope'), 'accesses', ['scope'], unique=False) op.create_foreign_key(None, 'accesses', 'modules', ['module_id'], ['id']) - op.drop_constraint(op.f('users_palette_id_fkey'), 'users', type_='foreignkey') - op.drop_column('users', 'palette_id') + # Inspect to see if constraint/column exists to avoid transaction abortion on failure + bind = op.get_bind() + inspector = sa.inspect(bind) + + # Check and drop foreign key + fks = inspector.get_foreign_keys('users') + if any(fk['name'] == 'users_palette_id_fkey' for fk in fks): + op.drop_constraint('users_palette_id_fkey', 'users', type_='foreignkey') + + # Check and drop column + columns = [c['name'] for c in inspector.get_columns('users')] + if 'palette_id' in columns: + op.drop_column('users', 'palette_id') # ### end Alembic commands ### diff --git a/requirements.txt b/requirements.txt index 65a3ba0..5fe83e6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,4 +8,5 @@ pydantic-settings==2.12.0 bcrypt>=4.0.1 pyjwt>=2.8.0 email-validator>=2.1.0 -redis==7.1.0 \ No newline at end of file +redis==7.1.0 +requests==2.32.5 \ No newline at end of file