2026-05-21 20:11:46 -05:00
""" sync_model_drift
Revision ID : a7aa29cf8a20
Revises : a1b2c3d4e5f9
Create Date : 2026 - 05 - 22 01 : 08 : 44.078222
"""
from __future__ import annotations
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = ' a7aa29cf8a20 '
down_revision = ' a1b2c3d4e5f9 '
branch_labels = None
depends_on = None
def upgrade ( ) - > None :
# ### commands auto generated by Alembic - please adjust! ###
op . drop_constraint ( op . f ( ' fk_activity_events_board_id_boards ' ) , ' activity_events ' , type_ = ' foreignkey ' )
2026-05-21 23:07:45 -05:00
op . create_foreign_key ( ' fk_activity_events_board_id_boards ' , ' activity_events ' , ' boards ' , [ ' board_id ' ] , [ ' id ' ] )
op . execute ( " DELETE FROM agents WHERE gateway_id IS NULL " )
2026-05-21 20:11:46 -05:00
op . alter_column ( ' agents ' , ' gateway_id ' ,
existing_type = sa . UUID ( ) ,
nullable = False )
op . drop_index ( op . f ( ' ix_agents_openclaw_session_id ' ) , table_name = ' agents ' , postgresql_where = ' (openclaw_session_id IS NOT NULL) ' )
op . create_index ( op . f ( ' ix_agents_openclaw_session_id ' ) , ' agents ' , [ ' openclaw_session_id ' ] , unique = False )
op . alter_column ( ' approvals ' , ' confidence ' ,
existing_type = sa . INTEGER ( ) ,
type_ = sa . Float ( ) ,
existing_nullable = False )
op . drop_index ( op . f ( ' ix_board_repository_links_org_id ' ) , table_name = ' board_repository_links ' )
op . create_index ( op . f ( ' ix_board_repository_links_organization_id ' ) , ' board_repository_links ' , [ ' organization_id ' ] , unique = False )
op . drop_constraint ( op . f ( ' board_task_custom_fields_organization_id_fkey ' ) , ' board_task_custom_fields ' , type_ = ' foreignkey ' )
op . drop_column ( ' board_task_custom_fields ' , ' organization_id ' )
op . alter_column ( ' boards ' , ' description ' ,
existing_type = sa . VARCHAR ( ) ,
nullable = False )
op . drop_index ( op . f ( ' ix_forgejo_connections_org_id ' ) , table_name = ' forgejo_connections ' )
op . create_index ( op . f ( ' ix_forgejo_connections_organization_id ' ) , ' forgejo_connections ' , [ ' organization_id ' ] , unique = False )
op . drop_index ( op . f ( ' ix_forgejo_issues_org_id ' ) , table_name = ' forgejo_issues ' )
op . drop_index ( op . f ( ' ix_forgejo_issues_repo_id ' ) , table_name = ' forgejo_issues ' )
op . create_index ( op . f ( ' ix_forgejo_issues_forgejo_issue_number ' ) , ' forgejo_issues ' , [ ' forgejo_issue_number ' ] , unique = False )
op . create_index ( op . f ( ' ix_forgejo_issues_organization_id ' ) , ' forgejo_issues ' , [ ' organization_id ' ] , unique = False )
op . create_index ( op . f ( ' ix_forgejo_issues_repository_id ' ) , ' forgejo_issues ' , [ ' repository_id ' ] , unique = False )
op . drop_index ( op . f ( ' ix_forgejo_repos_conn_id ' ) , table_name = ' forgejo_repositories ' )
op . drop_index ( op . f ( ' ix_forgejo_repos_org_id ' ) , table_name = ' forgejo_repositories ' )
op . create_index ( op . f ( ' ix_forgejo_repositories_connection_id ' ) , ' forgejo_repositories ' , [ ' connection_id ' ] , unique = False )
op . create_index ( op . f ( ' ix_forgejo_repositories_organization_id ' ) , ' forgejo_repositories ' , [ ' organization_id ' ] , unique = False )
op . drop_constraint ( op . f ( ' uq_organizations_name ' ) , ' organizations ' , type_ = ' unique ' )
op . drop_index ( op . f ( ' ix_provider_credentials_org_id ' ) , table_name = ' provider_credentials ' )
op . drop_constraint ( op . f ( ' uq_provider_credentials_org_provider_key ' ) , ' provider_credentials ' , type_ = ' unique ' )
op . create_index ( op . f ( ' ix_provider_credentials_account_key ' ) , ' provider_credentials ' , [ ' account_key ' ] , unique = False )
op . create_index ( op . f ( ' ix_provider_credentials_organization_id ' ) , ' provider_credentials ' , [ ' organization_id ' ] , unique = False )
op . drop_constraint ( op . f ( ' task_custom_field_values_organization_id_fkey ' ) , ' task_custom_field_values ' , type_ = ' foreignkey ' )
op . drop_column ( ' task_custom_field_values ' , ' organization_id ' )
# ### end Alembic commands ###
def downgrade ( ) - > None :
# ### commands auto generated by Alembic - please adjust! ###
op . add_column ( ' task_custom_field_values ' , sa . Column ( ' organization_id ' , sa . UUID ( ) , autoincrement = False , nullable = False ) )
op . create_foreign_key ( op . f ( ' task_custom_field_values_organization_id_fkey ' ) , ' task_custom_field_values ' , ' organizations ' , [ ' organization_id ' ] , [ ' id ' ] )
op . drop_index ( op . f ( ' ix_provider_credentials_organization_id ' ) , table_name = ' provider_credentials ' )
op . drop_index ( op . f ( ' ix_provider_credentials_account_key ' ) , table_name = ' provider_credentials ' )
op . create_unique_constraint ( op . f ( ' uq_provider_credentials_org_provider_key ' ) , ' provider_credentials ' , [ ' organization_id ' , ' provider ' , ' account_key ' ] , postgresql_nulls_not_distinct = False )
op . create_index ( op . f ( ' ix_provider_credentials_org_id ' ) , ' provider_credentials ' , [ ' organization_id ' ] , unique = False )
op . create_unique_constraint ( op . f ( ' uq_organizations_name ' ) , ' organizations ' , [ ' name ' ] , postgresql_nulls_not_distinct = False )
op . drop_index ( op . f ( ' ix_forgejo_repositories_organization_id ' ) , table_name = ' forgejo_repositories ' )
op . drop_index ( op . f ( ' ix_forgejo_repositories_connection_id ' ) , table_name = ' forgejo_repositories ' )
op . create_index ( op . f ( ' ix_forgejo_repos_org_id ' ) , ' forgejo_repositories ' , [ ' organization_id ' ] , unique = False )
op . create_index ( op . f ( ' ix_forgejo_repos_conn_id ' ) , ' forgejo_repositories ' , [ ' connection_id ' ] , unique = False )
op . drop_index ( op . f ( ' ix_forgejo_issues_repository_id ' ) , table_name = ' forgejo_issues ' )
op . drop_index ( op . f ( ' ix_forgejo_issues_organization_id ' ) , table_name = ' forgejo_issues ' )
op . drop_index ( op . f ( ' ix_forgejo_issues_forgejo_issue_number ' ) , table_name = ' forgejo_issues ' )
op . create_index ( op . f ( ' ix_forgejo_issues_repo_id ' ) , ' forgejo_issues ' , [ ' repository_id ' ] , unique = False )
op . create_index ( op . f ( ' ix_forgejo_issues_org_id ' ) , ' forgejo_issues ' , [ ' organization_id ' ] , unique = False )
op . drop_index ( op . f ( ' ix_forgejo_connections_organization_id ' ) , table_name = ' forgejo_connections ' )
op . create_index ( op . f ( ' ix_forgejo_connections_org_id ' ) , ' forgejo_connections ' , [ ' organization_id ' ] , unique = False )
op . alter_column ( ' boards ' , ' description ' ,
existing_type = sa . VARCHAR ( ) ,
nullable = True )
op . add_column ( ' board_task_custom_fields ' , sa . Column ( ' organization_id ' , sa . UUID ( ) , autoincrement = False , nullable = False ) )
op . create_foreign_key ( op . f ( ' board_task_custom_fields_organization_id_fkey ' ) , ' board_task_custom_fields ' , ' organizations ' , [ ' organization_id ' ] , [ ' id ' ] )
op . drop_index ( op . f ( ' ix_board_repository_links_organization_id ' ) , table_name = ' board_repository_links ' )
op . create_index ( op . f ( ' ix_board_repository_links_org_id ' ) , ' board_repository_links ' , [ ' organization_id ' ] , unique = False )
op . alter_column ( ' approvals ' , ' confidence ' ,
existing_type = sa . Float ( ) ,
type_ = sa . INTEGER ( ) ,
existing_nullable = False )
op . drop_index ( op . f ( ' ix_agents_openclaw_session_id ' ) , table_name = ' agents ' )
op . create_index ( op . f ( ' ix_agents_openclaw_session_id ' ) , ' agents ' , [ ' openclaw_session_id ' ] , unique = True , postgresql_where = ' (openclaw_session_id IS NOT NULL) ' )
op . alter_column ( ' agents ' , ' gateway_id ' ,
existing_type = sa . UUID ( ) ,
nullable = True )
2026-05-21 23:07:45 -05:00
op . drop_constraint ( ' fk_activity_events_board_id_boards ' , ' activity_events ' , type_ = ' foreignkey ' )
2026-05-21 20:11:46 -05:00
op . create_foreign_key ( op . f ( ' fk_activity_events_board_id_boards ' ) , ' activity_events ' , ' boards ' , [ ' board_id ' ] , [ ' id ' ] , ondelete = ' CASCADE ' )
# ### end Alembic commands ###