"""store perofrmance

Revision ID: 7268a22148b7
Revises: ea9af0313019
Create Date: 2025-09-05 11:05:07.687672

"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision: str = '7268a22148b7'
down_revision: Union[str, None] = 'ea9af0313019'
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_table('store_performance_scores',
    sa.Column('id', sa.BigInteger(), nullable=False),
    sa.Column('store_id', sa.BigInteger(), nullable=False),
    sa.Column('branch_id', sa.BigInteger(), nullable=True),
    sa.Column('overall_score', sa.Float(), nullable=False),
    sa.Column('engagement_rate', sa.Float(), nullable=False),
    sa.Column('reach_efficiency', sa.Float(), nullable=False),
    sa.Column('posting_consistency', sa.Float(), nullable=False),
    sa.Column('platform_scores', sa.Text(), nullable=True),
    sa.Column('total_posts', sa.Integer(), nullable=False),
    sa.Column('total_engagement', sa.BigInteger(), nullable=False),
    sa.Column('total_impressions', sa.BigInteger(), nullable=False),
    sa.Column('total_followers', sa.BigInteger(), nullable=False),
    sa.Column('connected_accounts_count', sa.Integer(), nullable=False),
    sa.Column('score_month', sa.Integer(), nullable=False),
    sa.Column('score_year', sa.Integer(), nullable=False),
    sa.Column('created_at', sa.DateTime(), nullable=False),
    sa.Column('updated_at', sa.DateTime(), nullable=False),
    sa.Column('is_active', sa.Boolean(), server_default='true', nullable=False),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_store_performance_scores_branch_id'), 'store_performance_scores', ['branch_id'], unique=False)
    op.create_index(op.f('ix_store_performance_scores_store_id'), 'store_performance_scores', ['store_id'], unique=False)
    # ### end Alembic commands ###


def downgrade() -> None:
    # ### commands auto generated by Alembic - please adjust! ###
    op.drop_index(op.f('ix_store_performance_scores_store_id'), table_name='store_performance_scores')
    op.drop_index(op.f('ix_store_performance_scores_branch_id'), table_name='store_performance_scores')
    op.drop_table('store_performance_scores')
    # ### end Alembic commands ###
