"""Initial migration Revision ID: ea9811f060aa Revises: Create Date: 2022-09-17 17:31:20.593318 """ import sqlalchemy as sa from alembic import op # revision identifiers, used by Alembic. revision = "ea9811f060aa" down_revision = None branch_labels = None depends_on = None def upgrade() -> None: # ### commands auto generated by Alembic - please adjust! ### op.create_table( "custom_commands", sa.Column("command_id", sa.Integer(), nullable=False), sa.Column("name", sa.Text(), nullable=False), sa.Column("indexed_name", sa.Text(), nullable=False), sa.Column("response", sa.Text(), nullable=False), sa.PrimaryKeyConstraint("command_id"), sa.UniqueConstraint("name"), ) with op.batch_alter_table("custom_commands", schema=None) as batch_op: batch_op.create_index(batch_op.f("ix_custom_commands_indexed_name"), ["indexed_name"], unique=False) op.create_table( "dad_jokes", sa.Column("dad_joke_id", sa.Integer(), nullable=False), sa.Column("joke", sa.Text(), nullable=False), sa.PrimaryKeyConstraint("dad_joke_id"), ) op.create_table( "links", sa.Column("link_id", sa.Integer(), nullable=False), sa.Column("name", sa.Text(), nullable=False), sa.Column("url", sa.Text(), nullable=False), sa.PrimaryKeyConstraint("link_id"), sa.UniqueConstraint("name"), ) op.create_table( "meme", sa.Column("meme_id", sa.Integer(), nullable=False), sa.Column("name", sa.Text(), nullable=False), sa.Column("template_id", sa.Integer(), nullable=False), sa.Column("field_count", sa.Integer(), nullable=False), sa.PrimaryKeyConstraint("meme_id"), sa.UniqueConstraint("name"), sa.UniqueConstraint("template_id"), ) op.create_table( "tasks", sa.Column("task_id", sa.Integer(), nullable=False), sa.Column("task", sa.Enum("BIRTHDAYS", "SCHEDULES", "UFORA_ANNOUNCEMENTS", name="tasktype"), nullable=False), sa.Column("previous_run", sa.DateTime(timezone=True), nullable=True), sa.PrimaryKeyConstraint("task_id"), sa.UniqueConstraint("task"), ) op.create_table( "ufora_courses", sa.Column("course_id", sa.Integer(), nullable=False), sa.Column("name", sa.Text(), nullable=False), sa.Column("code", sa.Text(), nullable=False), sa.Column("year", sa.Integer(), nullable=False), sa.Column("compulsory", sa.Boolean(), server_default="1", nullable=False), sa.Column("role_id", sa.Integer(), nullable=True), sa.Column("log_announcements", sa.Boolean(), server_default="0", nullable=False), sa.PrimaryKeyConstraint("course_id"), sa.UniqueConstraint("code"), sa.UniqueConstraint("name"), ) op.create_table("users", sa.Column("user_id", sa.BigInteger(), nullable=False), sa.PrimaryKeyConstraint("user_id")) op.create_table( "wordle_word", sa.Column("word_id", sa.Integer(), nullable=False), sa.Column("word", sa.Text(), nullable=False), sa.Column("day", sa.Date(), nullable=False), sa.PrimaryKeyConstraint("word_id"), sa.UniqueConstraint("day"), ) op.create_table( "bank", sa.Column("bank_id", sa.Integer(), nullable=False), sa.Column("user_id", sa.BigInteger(), nullable=True), sa.Column("dinks", sa.BigInteger(), server_default="0", nullable=False), sa.Column("invested", sa.BigInteger(), server_default="0", nullable=False), sa.Column("interest_level", sa.Integer(), server_default="1", nullable=False), sa.Column("capacity_level", sa.Integer(), server_default="1", nullable=False), sa.Column("rob_level", sa.Integer(), server_default="1", nullable=False), sa.ForeignKeyConstraint( ["user_id"], ["users.user_id"], ), sa.PrimaryKeyConstraint("bank_id"), ) op.create_table( "birthdays", sa.Column("birthday_id", sa.Integer(), nullable=False), sa.Column("user_id", sa.BigInteger(), nullable=True), sa.Column("birthday", sa.Date(), nullable=False), sa.ForeignKeyConstraint( ["user_id"], ["users.user_id"], ), sa.PrimaryKeyConstraint("birthday_id"), ) op.create_table( "bookmarks", sa.Column("bookmark_id", sa.Integer(), nullable=False), sa.Column("label", sa.Text(), nullable=False), sa.Column("jump_url", sa.Text(), nullable=False), sa.Column("user_id", sa.BigInteger(), nullable=True), sa.ForeignKeyConstraint( ["user_id"], ["users.user_id"], ), sa.PrimaryKeyConstraint("bookmark_id"), sa.UniqueConstraint("user_id", "label"), ) op.create_table( "custom_command_aliases", sa.Column("alias_id", sa.Integer(), nullable=False), sa.Column("alias", sa.Text(), nullable=False), sa.Column("indexed_alias", sa.Text(), nullable=False), sa.Column("command_id", sa.Integer(), nullable=True), sa.ForeignKeyConstraint( ["command_id"], ["custom_commands.command_id"], ), sa.PrimaryKeyConstraint("alias_id"), sa.UniqueConstraint("alias"), ) with op.batch_alter_table("custom_command_aliases", schema=None) as batch_op: batch_op.create_index(batch_op.f("ix_custom_command_aliases_indexed_alias"), ["indexed_alias"], unique=False) op.create_table( "deadlines", sa.Column("deadline_id", sa.Integer(), nullable=False), sa.Column("course_id", sa.Integer(), nullable=True), sa.Column("name", sa.Text(), nullable=False), sa.Column("deadline", sa.DateTime(timezone=True), nullable=False), sa.ForeignKeyConstraint( ["course_id"], ["ufora_courses.course_id"], ), sa.PrimaryKeyConstraint("deadline_id"), ) op.create_table( "nightly_data", sa.Column("nightly_id", sa.Integer(), nullable=False), sa.Column("user_id", sa.BigInteger(), nullable=True), sa.Column("last_nightly", sa.Date(), nullable=True), sa.Column("count", sa.Integer(), server_default="0", nullable=False), sa.ForeignKeyConstraint( ["user_id"], ["users.user_id"], ), sa.PrimaryKeyConstraint("nightly_id"), ) op.create_table( "ufora_announcements", sa.Column("announcement_id", sa.Integer(), nullable=False), sa.Column("course_id", sa.Integer(), nullable=True), sa.Column("publication_date", sa.Date(), nullable=True), sa.ForeignKeyConstraint( ["course_id"], ["ufora_courses.course_id"], ), sa.PrimaryKeyConstraint("announcement_id"), ) op.create_table( "ufora_course_aliases", sa.Column("alias_id", sa.Integer(), nullable=False), sa.Column("alias", sa.Text(), nullable=False), sa.Column("course_id", sa.Integer(), nullable=True), sa.ForeignKeyConstraint( ["course_id"], ["ufora_courses.course_id"], ), sa.PrimaryKeyConstraint("alias_id"), sa.UniqueConstraint("alias"), ) op.create_table( "wordle_guesses", sa.Column("wordle_guess_id", sa.Integer(), nullable=False), sa.Column("user_id", sa.BigInteger(), nullable=True), sa.Column("guess", sa.Text(), nullable=False), sa.ForeignKeyConstraint( ["user_id"], ["users.user_id"], ), sa.PrimaryKeyConstraint("wordle_guess_id"), ) op.create_table( "wordle_stats", sa.Column("wordle_stats_id", sa.Integer(), nullable=False), sa.Column("user_id", sa.BigInteger(), nullable=True), sa.Column("last_win", sa.Date(), nullable=True), sa.Column("games", sa.Integer(), server_default="0", nullable=False), sa.Column("wins", sa.Integer(), server_default="0", nullable=False), sa.Column("current_streak", sa.Integer(), server_default="0", nullable=False), sa.Column("highest_streak", sa.Integer(), server_default="0", nullable=False), sa.ForeignKeyConstraint( ["user_id"], ["users.user_id"], ), sa.PrimaryKeyConstraint("wordle_stats_id"), ) # ### end Alembic commands ### def downgrade() -> None: # ### commands auto generated by Alembic - please adjust! ### op.drop_table("wordle_stats") op.drop_table("wordle_guesses") op.drop_table("ufora_course_aliases") op.drop_table("ufora_announcements") op.drop_table("nightly_data") op.drop_table("deadlines") with op.batch_alter_table("custom_command_aliases", schema=None) as batch_op: batch_op.drop_index(batch_op.f("ix_custom_command_aliases_indexed_alias")) op.drop_table("custom_command_aliases") op.drop_table("bookmarks") op.drop_table("birthdays") op.drop_table("bank") op.drop_table("wordle_word") op.drop_table("users") op.drop_table("ufora_courses") op.drop_table("tasks") op.drop_table("meme") op.drop_table("links") op.drop_table("dad_jokes") with op.batch_alter_table("custom_commands", schema=None) as batch_op: batch_op.drop_index(batch_op.f("ix_custom_commands_indexed_name")) op.drop_table("custom_commands") # ### end Alembic commands ###