feat: add more indices

This commit is contained in:
arkohut 2024-08-14 12:20:32 +08:00
parent 2314ad544e
commit 39887c827f
2 changed files with 46 additions and 0 deletions

View File

@ -105,6 +105,11 @@ class EntityTagModel(Base):
tag_id: Mapped[int] = mapped_column(Integer, ForeignKey("tags.id"), nullable=False)
source: Mapped[MetadataSource] = mapped_column(Enum(MetadataSource), nullable=False)
__table_args__ = (
Index("idx_entity_tag_entity_id", "entity_id"),
Index("idx_entity_tag_tag_id", "tag_id"),
)
class EntityMetadataModel(Base):
__tablename__ = "metadata_entries"
@ -120,6 +125,11 @@ class EntityMetadataModel(Base):
data_type: Mapped[MetadataType] = mapped_column(Enum(MetadataType), nullable=False)
entity = relationship("EntityModel", back_populates="metadata_entries")
__table_args__ = (
Index("idx_metadata_entity_id", "entity_id"),
Index("idx_metadata_key", "key"),
)
class PluginModel(Base):
__tablename__ = "plugins"

View File

@ -0,0 +1,36 @@
"""Add indices to EntityTags and Metadata
Revision ID: 04acdaf75664
Revises: 00904ac8c6fc
Create Date: 2024-08-14 12:18:46.039436
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = '04acdaf75664'
down_revision: Union[str, None] = '00904ac8c6fc'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.create_index('idx_entity_tag_entity_id', 'entity_tags', ['entity_id'], unique=False)
op.create_index('idx_entity_tag_tag_id', 'entity_tags', ['tag_id'], unique=False)
op.create_index('idx_metadata_entity_id', 'metadata_entries', ['entity_id'], unique=False)
op.create_index('idx_metadata_key', 'metadata_entries', ['key'], unique=False)
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_index('idx_metadata_key', table_name='metadata_entries')
op.drop_index('idx_metadata_entity_id', table_name='metadata_entries')
op.drop_index('idx_entity_tag_tag_id', table_name='entity_tags')
op.drop_index('idx_entity_tag_entity_id', table_name='entity_tags')
# ### end Alembic commands ###