"""empty message

Revision ID: 203dd50e5775
Revises: None
Create Date: 2016-09-29 16:19:45.036820

"""

# revision identifiers, used by Alembic.
revision = "203dd50e5775"
down_revision = None

from alembic import op
import sqlalchemy as sa


def upgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        "course",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("canvas_id", sa.Integer(), nullable=True),
        sa.Column("course_name", sa.String(length=250), nullable=True),
        sa.Column(
            "created_date",
            sa.DateTime(),
            server_default=sa.text(u"now()"),
            nullable=True,
        ),
        sa.Column(
            "last_updated_date",
            sa.DateTime(),
            server_default=sa.text(u"now()"),
            nullable=True,
        ),
        sa.PrimaryKeyConstraint("id"),
        sa.UniqueConstraint("canvas_id"),
    )
    op.create_table(
        "user",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("canvas_id", sa.Integer(), nullable=True),
        sa.Column(
            "created_date",
            sa.DateTime(),
            server_default=sa.text(u"now()"),
            nullable=True,
        ),
        sa.Column(
            "last_updated_date",
            sa.DateTime(),
            server_default=sa.text(u"now()"),
            nullable=True,
        ),
        sa.Column("sis_id", sa.String(length=50), nullable=True),
        sa.Column("sortable_name", sa.String(length=250), nullable=True),
        sa.PrimaryKeyConstraint("id"),
        sa.UniqueConstraint("canvas_id"),
    )
    op.create_table(
        "extension",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("course_id", sa.Integer(), nullable=True),
        sa.Column(
            "created_date",
            sa.DateTime(),
            server_default=sa.text(u"now()"),
            nullable=True,
        ),
        sa.Column(
            "last_updated_date",
            sa.DateTime(),
            server_default=sa.text(u"now()"),
            nullable=True,
        ),
        sa.Column("percent", sa.Integer(), nullable=True),
        sa.Column("user_id", sa.Integer(), nullable=True),
        sa.CheckConstraint(u"percent >= 100", name="check_percent_greater_than_100"),
        sa.ForeignKeyConstraint(["course_id"], ["course.id"],),
        sa.ForeignKeyConstraint(["user_id"], ["user.id"],),
        sa.PrimaryKeyConstraint("id"),
    )
    op.create_table(
        "quiz",
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("canvas_id", sa.Integer(), nullable=True),
        sa.Column("course_id", sa.Integer(), nullable=True),
        sa.Column(
            "created_date",
            sa.DateTime(),
            server_default=sa.text(u"now()"),
            nullable=True,
        ),
        sa.Column(
            "last_updated_date",
            sa.DateTime(),
            server_default=sa.text(u"now()"),
            nullable=True,
        ),
        sa.Column("title", sa.String(length=250), nullable=True),
        sa.ForeignKeyConstraint(["course_id"], ["course.id"],),
        sa.PrimaryKeyConstraint("id"),
        sa.UniqueConstraint("canvas_id"),
    )
    ### end Alembic commands ###


def downgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.drop_table("quiz")
    op.drop_table("extension")
    op.drop_table("user")
    op.drop_table("course")
    ### end Alembic commands ###
