e403a4152f6b_add_third_party_keys_table.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. """add_third_party_keys_table
  2. Revision ID: e403a4152f6b
  3. Revises: 6dfa83113ad7
  4. Create Date: 2025-06-22 22:43:43.440473
  5. """
  6. from typing import Sequence, Union
  7. from alembic import op
  8. import sqlalchemy as sa
  9. # revision identifiers, used by Alembic.
  10. revision: str = 'e403a4152f6b'
  11. down_revision: Union[str, None] = '6dfa83113ad7'
  12. branch_labels: Union[str, Sequence[str], None] = None
  13. depends_on: Union[str, Sequence[str], None] = None
  14. def upgrade() -> None:
  15. """Upgrade schema."""
  16. # ### commands auto generated by Alembic - please adjust! ###
  17. op.create_table('third_party_keys',
  18. sa.Column('id', sa.UUID(), nullable=False),
  19. sa.Column('service', sa.String(), nullable=False),
  20. sa.Column('owner_id', sa.UUID(), nullable=True),
  21. sa.Column('encrypted_key', sa.String(), nullable=False),
  22. sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=True),
  23. sa.ForeignKeyConstraint(['owner_id'], ['profiles.id'], onupdate='CASCADE', ondelete='CASCADE'),
  24. sa.PrimaryKeyConstraint('id'),
  25. if_not_exists=True
  26. )
  27. op.create_index('idx_keys_owner_id', 'third_party_keys', ['owner_id'], unique=False)
  28. op.create_index('idx_keys_service', 'third_party_keys', ['service'], unique=False)
  29. # ### end Alembic commands ###
  30. def downgrade() -> None:
  31. """Downgrade schema."""
  32. # ### commands auto generated by Alembic - please adjust! ###
  33. op.drop_index('idx_keys_service', table_name='third_party_keys')
  34. op.drop_index('idx_keys_owner_id', table_name='third_party_keys')
  35. op.drop_table('third_party_keys')
  36. # ### end Alembic commands ###