You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2025_07_04_1705-71f5020c6470_tool_oauth.py 3.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. """tool oauth
  2. Revision ID: 71f5020c6470
  3. Revises: 4474872b0ee6
  4. Create Date: 2025-06-24 17:05:43.118647
  5. """
  6. from alembic import op
  7. import models as models
  8. import sqlalchemy as sa
  9. # revision identifiers, used by Alembic.
  10. revision = '71f5020c6470'
  11. down_revision = '1c9ba48be8e4'
  12. branch_labels = None
  13. depends_on = None
  14. def upgrade():
  15. # ### commands auto generated by Alembic - please adjust! ###
  16. op.create_table('tool_oauth_system_clients',
  17. sa.Column('id', models.types.StringUUID(), server_default=sa.text('uuid_generate_v4()'), nullable=False),
  18. sa.Column('plugin_id', sa.String(length=512), nullable=False),
  19. sa.Column('provider', sa.String(length=255), nullable=False),
  20. sa.Column('encrypted_oauth_params', sa.Text(), nullable=False),
  21. sa.PrimaryKeyConstraint('id', name='tool_oauth_system_client_pkey'),
  22. sa.UniqueConstraint('plugin_id', 'provider', name='tool_oauth_system_client_plugin_id_provider_idx')
  23. )
  24. op.create_table('tool_oauth_tenant_clients',
  25. sa.Column('id', models.types.StringUUID(), server_default=sa.text('uuid_generate_v4()'), nullable=False),
  26. sa.Column('tenant_id', models.types.StringUUID(), nullable=False),
  27. sa.Column('plugin_id', sa.String(length=512), nullable=False),
  28. sa.Column('provider', sa.String(length=255), nullable=False),
  29. sa.Column('enabled', sa.Boolean(), server_default=sa.text('true'), nullable=False),
  30. sa.Column('encrypted_oauth_params', sa.Text(), nullable=False),
  31. sa.PrimaryKeyConstraint('id', name='tool_oauth_tenant_client_pkey'),
  32. sa.UniqueConstraint('tenant_id', 'plugin_id', 'provider', name='unique_tool_oauth_tenant_client')
  33. )
  34. with op.batch_alter_table('tool_builtin_providers', schema=None) as batch_op:
  35. batch_op.add_column(sa.Column('name', sa.String(length=256), server_default=sa.text("'API KEY 1'::character varying"), nullable=False))
  36. batch_op.add_column(sa.Column('is_default', sa.Boolean(), server_default=sa.text('false'), nullable=False))
  37. batch_op.add_column(sa.Column('credential_type', sa.String(length=32), server_default=sa.text("'api-key'::character varying"), nullable=False))
  38. batch_op.drop_constraint(batch_op.f('unique_builtin_tool_provider'), type_='unique')
  39. batch_op.create_unique_constraint(batch_op.f('unique_builtin_tool_provider'), ['tenant_id', 'provider', 'name'])
  40. # ### end Alembic commands ###
  41. def downgrade():
  42. # ### commands auto generated by Alembic - please adjust! ###
  43. with op.batch_alter_table('tool_builtin_providers', schema=None) as batch_op:
  44. batch_op.drop_constraint(batch_op.f('unique_builtin_tool_provider'), type_='unique')
  45. batch_op.create_unique_constraint(batch_op.f('unique_builtin_tool_provider'), ['tenant_id', 'provider'])
  46. batch_op.drop_column('credential_type')
  47. batch_op.drop_column('is_default')
  48. batch_op.drop_column('name')
  49. op.drop_table('tool_oauth_tenant_clients')
  50. op.drop_table('tool_oauth_system_clients')
  51. # ### end Alembic commands ###