"""Add participant and application

Revision ID: 58d2280520b8
Revises:
Create Date: 2022-02-12 07:30:30.427270+00:00

"""
import sqlalchemy as sa
import sqlmodel
from alembic import op

# revision identifiers, used by Alembic.
revision = "58d2280520b8"
down_revision = None
branch_labels = None
depends_on = None


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        "participants",
        sa.Column("first_name", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
        sa.Column("last_name", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
        sa.Column("email", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
        sa.Column("id", sa.Integer(), nullable=False),
        sa.PrimaryKeyConstraint("id"),
    )
    op.create_table(
        "applications",
        sa.Column(
            "gender",
            sa.Enum("MALE", "FEMALE", "NON_BINARY", name="gender"),
            nullable=True,
        ),
        sa.Column(
            "race_ethnicity",
            sa.Enum(
                "AMERICAN_INDIAN",
                "ASIAN",
                "PACIFIC_ISLANDER",
                "BLACK",
                "HISPANIC",
                "CAUCASIAN",
                "MULTIPLE_OTHER",
                name="raceethnicity",
            ),
            nullable=True,
        ),
        sa.Column("participant_id", sa.Integer(), nullable=False),
        sa.Column("level_of_study", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
        sa.Column("graduation_year", sa.Integer(), nullable=False),
        sa.Column("major", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
        sa.Column("date_of_birth", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
        sa.Column("hackathons_attended", sa.Integer(), nullable=False),
        sa.Column("portfolio_url", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
        sa.Column("vcs_url", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
        sa.Column(
            "shipping_address", 