"""schema changes for row notes

Revision ID: 3b063011ed67
Revises: 51f61433256f
Create Date: 2022-07-06 19:48:23.960471

"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import mysql

# revision identifiers, used by Alembic.
revision = '3b063011ed67'
down_revision = '51f61433256f'
branch_labels = None
depends_on = None


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.drop_table('notes')
    op.add_column('playlist_rows', sa.Column('note', sa.String(length=2048), nullable=True))
    op.alter_column('playlist_rows', 'track_id',
               existing_type=mysql.INTEGER(display_width=11),
               nullable=True)
    op.drop_index('uniquerow', table_name='playlist_rows')
    op.drop_column('playlist_rows', 'text')
    op.alter_column('playlist_rows', 'row', new_column_name='row_number',
                    existing_type=mysql.INTEGER(display_width=11),
                    nullable=False)
    op.create_index('uniquerow', 'playlist_rows', ['row_number', 'playlist_id'], unique=True)
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.alter_column('playlist_rows', 'row_number', new_column_name='row',
                    existing_type=mysql.INTEGER(display_width=11),
                    nullable=False)
    op.add_column('playlist_rows', sa.Column('text', mysql.VARCHAR(length=2048), nullable=True))
    op.drop_index('uniquerow', table_name='playlist_rows')
    op.create_index('uniquerow', 'playlist_rows', ['row', 'playlist_id'], unique=False)
    op.drop_column('playlist_rows', 'note')
    op.create_table('notes',
    sa.Column('id', mysql.INTEGER(display_width=11), autoincrement=True, nullable=False),
    sa.Column('playlist_id', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True),
    sa.Column('row', mysql.INTEGER(display_width=11), autoincrement=False, nullable=False),
    sa.Column('note', mysql.VARCHAR(length=256), nullable=True),
    sa.ForeignKeyConstraint(['playlist_id'], ['playlists.id'], name='notes_ibfk_1'),
    sa.PrimaryKeyConstraint('id'),
    mysql_default_charset='utf8mb4',
    mysql_engine='InnoDB'
    )
    # ### end Alembic commands ###
