"""analitycs_fields

Revision ID: 03c57024edc6
Revises: c82d8d467284
Create Date: 2023-12-25 13:12:30.951885

"""
from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision = '03c57024edc6'
down_revision = 'c82d8d467284'
branch_labels = None
depends_on = None


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('cmf_search_stat',
    sa.Column('id', sa.String(length=64), nullable=False),
    sa.Column('obj_id', sa.String(length=64), nullable=True),
    sa.Column('search_query', sa.String(), nullable=True),
    sa.Column('action', sa.String(length=32), nullable=False),
    sa.Column('cmf_created_at', sa.TIMESTAMP(timezone=True), nullable=False),
    sa.Column('person_id', sa.String(length=64), nullable=False),
    sa.Column('project_id', sa.String(length=64), nullable=True),
    sa.Column('aggregated', sa.Boolean(), nullable=False),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_cmf_search_stat_aggregated'), 'cmf_search_stat', ['aggregated'], unique=False)
    op.create_index(op.f('ix_cmf_search_stat_cmf_created_at'), 'cmf_search_stat', ['cmf_created_at'], unique=False)
    op.create_table('cmf_search_stat_aggreg_day',
    sa.Column('id', sa.String(length=64), nullable=False),
    sa.Column('search_query', sa.String(), nullable=True),
    sa.Column('obj_id', sa.String(length=64), nullable=True),
    sa.Column('action', sa.String(length=32), nullable=False),
    sa.Column('day', sa.DATE(), nullable=False),
    sa.Column('person_id', sa.String(length=64), nullable=False),
    sa.Column('project_id', sa.String(length=64), nullable=True),
    sa.Column('num', sa.Integer(), nullable=False),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_cmf_search_stat_aggreg_day_action'), 'cmf_search_stat_aggreg_day', ['action'], unique=False)
    op.create_index(op.f('ix_cmf_search_stat_aggreg_day_day'), 'cmf_search_stat_aggreg_day', ['day'], unique=False)
    op.create_index(op.f('ix_cmf_search_stat_aggreg_day_obj_id'), 'cmf_search_stat_aggreg_day', ['obj_id'], unique=False)
    op.create_index(op.f('ix_cmf_search_stat_aggreg_day_person_id'), 'cmf_search_stat_aggreg_day', ['person_id'], unique=False)
    op.create_index(op.f('ix_cmf_search_stat_aggreg_day_project_id'), 'cmf_search_stat_aggreg_day', ['project_id'], unique=False)
    op.create_index(op.f('ix_cmf_search_stat_aggreg_day_search_query'), 'cmf_search_stat_aggreg_day', ['search_query'], unique=False)
    op.create_table('cmf_stat',
    sa.Column('id', sa.String(length=64), nullable=False),
    sa.Column('obj_id', sa.String(length=64), nullable=False),
    sa.Column('action', sa.String(length=32), nullable=False),
    sa.Column('cmf_created_at', sa.TIMESTAMP(timezone=True), nullable=False),
    sa.Column('person_id', sa.String(length=64), nullable=False),
    sa.Column('parent_id', sa.String(length=64), nullable=True),
    sa.Column('project_id', sa.String(length=64), nullable=True),
    sa.Column('history_id', sa.String(length=64), nullable=True),
    sa.Column('aggregated', sa.Boolean(), nullable=False),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_cmf_stat_aggregated'), 'cmf_stat', ['aggregated'], unique=False)
    op.create_index(op.f('ix_cmf_stat_cmf_created_at'), 'cmf_stat', ['cmf_created_at'], unique=False)
    op.create_table('cmf_stat_aggreg_day',
    sa.Column('id', sa.String(length=64), nullable=False),
    sa.Column('obj_id', sa.String(length=64), nullable=False),
    sa.Column('parent_id', sa.String(length=64), nullable=True),
    sa.Column('obj_type', sa.String(length=32), nullable=False),
    sa.Column('action', sa.String(length=32), nullable=False),
    sa.Column('day', sa.DATE(), nullable=False),
    sa.Column('person_id', sa.String(length=64), nullable=False),
    sa.Column('project_id', sa.String(length=64), nullable=True),
    sa.Column('history_id', sa.String(length=64), nullable=True),
    sa.Column('cmf_modified_at', sa.TIMESTAMP(timezone=True), nullable=False),
    sa.Column('num', sa.Integer(), nullable=False),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_index(op.f('ix_cmf_stat_aggreg_day_action'), 'cmf_stat_aggreg_day', ['action'], unique=False)
    op.create_index(op.f('ix_cmf_stat_aggreg_day_cmf_modified_at'), 'cmf_stat_aggreg_day', ['cmf_modified_at'], unique=False)
    op.create_index(op.f('ix_cmf_stat_aggreg_day_day'), 'cmf_stat_aggreg_day', ['day'], unique=False)
    op.create_index(op.f('ix_cmf_stat_aggreg_day_history_id'), 'cmf_stat_aggreg_day', ['history_id'], unique=False)
    op.create_index(op.f('ix_cmf_stat_aggreg_day_obj_id'), 'cmf_stat_aggreg_day', ['obj_id'], unique=False)
    op.create_index(op.f('ix_cmf_stat_aggreg_day_obj_type'), 'cmf_stat_aggreg_day', ['obj_type'], unique=False)
    op.create_index(op.f('ix_cmf_stat_aggreg_day_parent_id'), 'cmf_stat_aggreg_day', ['parent_id'], unique=False)
    op.create_index(op.f('ix_cmf_stat_aggreg_day_person_id'), 'cmf_stat_aggreg_day', ['person_id'], unique=False)
    op.create_index(op.f('ix_cmf_stat_aggreg_day_project_id'), 'cmf_stat_aggreg_day', ['project_id'], unique=False)
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.drop_index(op.f('ix_cmf_stat_aggreg_day_project_id'), table_name='cmf_stat_aggreg_day')
    op.drop_index(op.f('ix_cmf_stat_aggreg_day_person_id'), table_name='cmf_stat_aggreg_day')
    op.drop_index(op.f('ix_cmf_stat_aggreg_day_parent_id'), table_name='cmf_stat_aggreg_day')
    op.drop_index(op.f('ix_cmf_stat_aggreg_day_obj_type'), table_name='cmf_stat_aggreg_day')
    op.drop_index(op.f('ix_cmf_stat_aggreg_day_obj_id'), table_name='cmf_stat_aggreg_day')
    op.drop_index(op.f('ix_cmf_stat_aggreg_day_history_id'), table_name='cmf_stat_aggreg_day')
    op.drop_index(op.f('ix_cmf_stat_aggreg_day_day'), table_name='cmf_stat_aggreg_day')
    op.drop_index(op.f('ix_cmf_stat_aggreg_day_cmf_modified_at'), table_name='cmf_stat_aggreg_day')
    op.drop_index(op.f('ix_cmf_stat_aggreg_day_action'), table_name='cmf_stat_aggreg_day')
    op.drop_table('cmf_stat_aggreg_day')
    op.drop_index(op.f('ix_cmf_stat_cmf_created_at'), table_name='cmf_stat')
    op.drop_index(op.f('ix_cmf_stat_aggregated'), table_name='cmf_stat')
    op.drop_table('cmf_stat')
    op.drop_index(op.f('ix_cmf_search_stat_aggreg_day_search_query'), table_name='cmf_search_stat_aggreg_day')
    op.drop_index(op.f('ix_cmf_search_stat_aggreg_day_project_id'), table_name='cmf_search_stat_aggreg_day')
    op.drop_index(op.f('ix_cmf_search_stat_aggreg_day_person_id'), table_name='cmf_search_stat_aggreg_day')
    op.drop_index(op.f('ix_cmf_search_stat_aggreg_day_obj_id'), table_name='cmf_search_stat_aggreg_day')
    op.drop_index(op.f('ix_cmf_search_stat_aggreg_day_day'), table_name='cmf_search_stat_aggreg_day')
    op.drop_index(op.f('ix_cmf_search_stat_aggreg_day_action'), table_name='cmf_search_stat_aggreg_day')
    op.drop_table('cmf_search_stat_aggreg_day')
    op.drop_index(op.f('ix_cmf_search_stat_cmf_created_at'), table_name='cmf_search_stat')
    op.drop_index(op.f('ix_cmf_search_stat_aggregated'), table_name='cmf_search_stat')
    op.drop_table('cmf_search_stat')
    # ### end Alembic commands ###
