"""init migration Revision ID: 9d819594ac9b Revises: Create Date: 2025-04-28 11:53:49.375964 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision: str = '9d819594ac9b' down_revision: Union[str, None] = None branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: """Upgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.create_table('clients', sa.Column('id', sa.UUID(), nullable=False), sa.Column('name', sa.String(), nullable=False), sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=True), sa.Column('updated_at', sa.DateTime(timezone=True), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_table('mcp_servers', sa.Column('id', sa.UUID(), nullable=False), sa.Column('name', sa.String(), nullable=False), sa.Column('description', sa.Text(), nullable=True), sa.Column('config_json', sa.JSON(), nullable=False), sa.Column('environments', sa.JSON(), nullable=False), sa.Column('type', sa.String(), nullable=False), sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=True), sa.Column('updated_at', sa.DateTime(timezone=True), nullable=True), sa.CheckConstraint("type IN ('official', 'community')", name='check_mcp_server_type'), sa.PrimaryKeyConstraint('id') ) op.create_table('tools', sa.Column('id', sa.UUID(), nullable=False), sa.Column('name', sa.String(), nullable=False), sa.Column('description', sa.Text(), nullable=True), sa.Column('config_json', sa.JSON(), nullable=False), sa.Column('environments', sa.JSON(), nullable=False), sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=True), sa.Column('updated_at', sa.DateTime(timezone=True), nullable=True), sa.PrimaryKeyConstraint('id') ) op.create_table('agents', sa.Column('id', sa.UUID(), nullable=False), sa.Column('client_id', sa.UUID(), nullable=True), sa.Column('name', sa.String(), nullable=False), sa.Column('description', sa.Text(), nullable=True), sa.Column('type', sa.String(), nullable=False), sa.Column('model', sa.String(), nullable=False), sa.Column('api_key', sa.String(), nullable=False), sa.Column('instruction', sa.Text(), nullable=True), sa.Column('config', sa.JSON(), nullable=True), sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=True), sa.Column('updated_at', sa.DateTime(timezone=True), nullable=True), sa.CheckConstraint("type IN ('llm', 'sequential', 'parallel', 'loop')", name='check_agent_type'), sa.ForeignKeyConstraint(['client_id'], ['clients.id'], ondelete='CASCADE'), sa.PrimaryKeyConstraint('id') ) op.create_table('contacts', sa.Column('id', sa.UUID(), nullable=False), sa.Column('client_id', sa.UUID(), nullable=True), sa.Column('ext_id', sa.String(), nullable=True), sa.Column('name', sa.String(), nullable=True), sa.Column('meta', sa.JSON(), nullable=True), sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=True), sa.Column('updated_at', sa.DateTime(timezone=True), nullable=True), sa.ForeignKeyConstraint(['client_id'], ['clients.id'], ondelete='CASCADE'), sa.PrimaryKeyConstraint('id') ) # ### end Alembic commands ### def downgrade() -> None: """Downgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.drop_table('contacts') op.drop_table('agents') op.drop_table('tools') op.drop_table('mcp_servers') op.drop_table('clients') # ### end Alembic commands ###