"""Initialize

Revision ID: b8073bf29083
Revises: 
Create Date: 2024-04-19 06:08:44.253235

"""
from alembic import op
import sqlalchemy as sa
import sqlmodel.sql.sqltypes


# revision identifiers, used by Alembic.
revision = 'b8073bf29083'
down_revision = None
branch_labels = None
depends_on = None


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('productevent',
    sa.Column('event_name', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
    sa.Column('created_at', sa.DateTime(), nullable=False),
    sa.Column('event_origin', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
    sa.Column('event_type', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('payload', sa.JSON(), nullable=True),
    sa.Column('public_id', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
    sa.Column('updated_at', sa.DateTime(), nullable=False),
    sa.Column('user_id', sa.Integer(), nullable=False),
    sa.PrimaryKeyConstraint('id')
    )
    op.create_table('usercliplistenrecord',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('public_id', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
    sa.Column('clip_id', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
    sa.Column('user_id', sa.Integer(), nullable=False),
    sa.Column('created_at', sa.DateTime(), nullable=False),
    sa.Column('updated_at', sa.DateTime(), nullable=False),
    sa.Column('clip_metadata', sa.JSON(), nullable=True),
    sa.Column('clip_dislike_count', sa.Integer(), nullable=True),
    sa.Column('clip_flag_count', sa.Integer(), nullable=True),
    sa.Column('clip_image_url', sqlmodel.sql.sqltypes.AutoString(), nullable=True),
    sa.Column('clip_model_name', sqlmodel.sql.sqltypes.AutoString(), nullable=True),
    sa.Column('clip_play_count', sa.Integer(), nullable=True),
    sa.Column('clip_skip_count', sa.Integer(), nullable=True),
    sa.Column('clip_title', sqlmodel.sql.sqltypes.AutoString(), nullable=True),
    sa.Column('clip_upvote_count', sa.Integer(), nullable=True),
    sa.PrimaryKeyConstraint('id')
    )
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.drop_table('usercliplistenrecord')
    op.drop_table('productevent')
    # ### end Alembic commands ###