text: """empty message
  
  Revision ID: 021f602d9965
  Revises: 92f37474ad62
  Create Date: 2020-10-22 17:59:27.823624
  
  """
  import sqlalchemy as sa
  import sqlalchemy_utils
  from alembic import op
  
  from project import dbtypes
  from project.models import EventRejectionReason, EventReviewStatus
  
  # revision identifiers, used by Alembic.
  revision = "021f602d9965"
  down_revision = "92f37474ad62"
  branch_labels = None
  depends_on = None
  
  
  def upgrade():
      # ### commands auto generated by Alembic - please adjust! ###
      op.create_table(
          "eventsuggestion",
          sa.Column("created_at", sa.DateTime(), nullable=True),
          sa.Column("id", sa.Integer(), nullable=False),
          sa.Column("name", sa.Unicode(length=255), nullable=False),
          sa.Column("start", sa.DateTime(timezone=True), nullable=False),
          sa.Column("description", sa.UnicodeText(), nullable=True),
          sa.Column("external_link", sa.String(length=255), nullable=True),
          sa.Column(
              "review_status", dbtypes.IntegerEnum(EventReviewStatus), nullable=True
          ),
          sa.Column(
              "rejection_resaon", dbtypes.IntegerEnum(EventRejectionReason), nullable=True
          ),
          sa.Column("contact_name", sa.Unicode(length=255), nullable=False),
          sa.Column("contact_email", sa.Unicode(length=255), nullable=True),
          sa.Column("contact_phone", sa.Unicode(length=255), nullable=True),
          sa.Column("admin_unit_id", sa.Integer(), nullable=False),
          sa.Column("event_place_id", sa.Integer(), nullable=True),
          sa.Column("event_place_text", sa.Unicode(length=255), nullable=True),
          sa.Column("organizer_id", sa.Integer(), nullable=True),
          sa.Column("organizer_text", sa.Unicode(length=255), nullable=True),
          sa.Column("photo_id", sa.Integer(), nullable=True),
          sa.Column("created_by_id", sa.Integer(), nullable=True),
          sa.ForeignKeyConstraint(
              ["admin_unit_id"],
              ["adminunit.id"],
          ),
          sa.ForeignKeyConstraint(
              ["created_by_id"],
              ["user.id"],
          ),
          sa.ForeignKeyConstraint(
              ["event_place_id"],
              ["eventplace.id"],
          ),
          sa.ForeignKeyConstraint(
              ["organizer_id"],
              ["eventorganizer.id"],
          ),
          sa.ForeignKeyConstraint(
              ["photo_id"],
              ["image.id"],
          ),
          sa.PrimaryKeyConstraint("id"),
      )
      # op.drop_table('spatial_ref_sys')
      op.drop_constraint("event_contact_id_fkey", "event", type_="foreignkey")
      op.drop_column("event", "review_status")
      op.drop_column("event", "rejection_resaon")
      op.drop_column("event", "contact_id")
      op.drop_column("eventcontact", "email")
      op.drop_column("eventcontact", "name")
      op.drop_column("eventcontact", "phone")
      # ### end Alembic commands ###
  
  
  def downgrade():
      # ### commands auto generated by Alembic - please adjust! ###
      op.add_column(
          "eventcontact",
          sa.Column("phone", sa.VARCHAR(length=255), autoincrement=False, nullable=True),
      )
      op.add_column(
          "eventcontact",
          sa.Column("name", sa.VARCHAR(length=255), autoincrement=False, nullable=False),
      )
      op.add_column(
          "eventcontact",
          sa.Column("email", sa.VARCHAR(length=255), autoincrement=False, nullable=True),
      )
      op.add_column(
          "event",
          sa.Column("contact_id", sa.INTEGER(), autoincrement=False, nullable=True),
      )
      op.add_column(
          "event",
          sa.Column("rejection_resaon", sa.INTEGER(), autoincrement=False, nullable=True),
      )
      op.add_column(
          "event",
          sa.Column("review_status", sa.INTEGER(), autoincrement=False, nullable=True),
      )
      op.create_foreign_key(
          "event_contact_id_fkey", "event", "eventcontact", ["contact_id"], ["id"]
      )
      op.create_table(
          "spatial_ref_sys",
          sa.Column("srid", sa.INTEGER(), autoincrement=False, nullable=False),
          sa.Column(
              "auth_name", sa.VARCHAR(length=256), autoincrement=False, nullable=True
          ),
          sa.Column("auth_srid", sa.INTEGER(), autoincrement=False, nullable=True),
          sa.Column(
              "srtext", sa.VARCHAR(length=2048), autoincrement=False, nullable=True
          ),
          sa.Column(
              "proj4text", sa.VARCHAR(length=2048), autoincrement=False, nullable=True
          ),
          sa.CheckConstraint(
              "(srid > 0) AND (srid <= 998999)", name="spatial_ref_sys_srid_check"
          ),
          sa.PrimaryKeyConstraint("srid", name="spatial_ref_sys_pkey"),
      )
      op.drop_table("eventsuggestion")
      # ### end Alembic commands ###
  