/ migrations / versions / 032_add_project_tools.py
032_add_project_tools.py
 1  """Add project_tools table for agent-created tools."""
 2  import sqlalchemy as sa
 3  from alembic import op
 4  
 5  
 6  revision = '032'
 7  down_revision = '031'
 8  branch_labels = None
 9  depends_on = None
10  
11  
12  def upgrade():
13      try:
14          op.create_table(
15              'project_tools',
16              sa.Column('id', sa.Integer(), primary_key=True, index=True),
17              sa.Column('project_id', sa.Integer(), sa.ForeignKey('projects.id'), nullable=False, index=True),
18              sa.Column('name', sa.String(255), nullable=False),
19              sa.Column('description', sa.Text(), nullable=False),
20              sa.Column('parameters', sa.Text(), nullable=False),
21              sa.Column('code', sa.Text(), nullable=False),
22              sa.Column('enabled', sa.Boolean(), nullable=False, server_default=sa.text('1')),
23              sa.Column('created_at', sa.DateTime(), nullable=False),
24              sa.Column('updated_at', sa.DateTime(), nullable=False),
25          )
26      except Exception as e:
27          print(f"Error creating project_tools table: {e}")
28  
29  
30  def downgrade():
31      try:
32          op.drop_table('project_tools')
33      except Exception as e:
34          print(f"Error dropping project_tools table: {e}")