def upgrade()

in src/dispatch/database/revisions/tenant/versions/2023-02-13_b168b50764c7.py [0:0]


def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table(
        "signal_filter",
        sa.Column("evergreen", sa.Boolean(), nullable=True),
        sa.Column("evergreen_owner", sa.String(), nullable=True),
        sa.Column("evergreen_reminder_interval", sa.Integer(), nullable=True),
        sa.Column("evergreen_last_reminder_at", sa.DateTime(), nullable=True),
        sa.Column("id", sa.Integer(), nullable=False),
        sa.Column("name", sa.String(), nullable=True),
        sa.Column("description", sa.String(), nullable=True),
        sa.Column("expression", sa.JSON(), nullable=False),
        sa.Column("mode", sa.String(), nullable=False),
        sa.Column("action", sa.String(), nullable=False),
        sa.Column("expiration", sa.DateTime(), nullable=True),
        sa.Column("window", sa.Integer(), nullable=True),
        sa.Column("signal_id", sa.Integer(), nullable=True),
        sa.Column("creator_id", sa.Integer(), nullable=True),
        sa.Column("search_vector", sqlalchemy_utils.types.ts_vector.TSVectorType(), nullable=True),
        sa.Column("project_id", sa.Integer(), nullable=True),
        sa.Column("created_at", sa.DateTime(), nullable=True),
        sa.Column("updated_at", sa.DateTime(), nullable=True),
        sa.ForeignKeyConstraint(
            ["creator_id"],
            ["dispatch_core.dispatch_user.id"],
        ),
        sa.ForeignKeyConstraint(["project_id"], ["project.id"], ondelete="CASCADE"),
        sa.ForeignKeyConstraint(
            ["signal_id"],
            ["signal.id"],
        ),
        sa.PrimaryKeyConstraint("id"),
        sa.UniqueConstraint("name", "project_id"),
    )
    op.create_index(
        "signal_filter_search_vector_idx",
        "signal_filter",
        ["search_vector"],
        unique=False,
        postgresql_using="gin",
    )
    op.drop_constraint("signal_suppression_rule_id_fkey", "signal", type_="foreignkey")
    op.drop_constraint("signal_duplication_rule_id_fkey", "signal", type_="foreignkey")
    op.drop_constraint(
        "signal_instance_duplication_rule_id_fkey", "signal_instance", type_="foreignkey"
    )
    op.drop_constraint(
        "signal_instance_suppression_rule_id_fkey", "signal_instance", type_="foreignkey"
    )
    op.drop_table("assoc_duplication_rule_tag_types")
    op.drop_table("assoc_suppression_rule_tags")
    op.drop_table("assoc_signal_instance_tags")
    op.drop_table("duplication_rule")
    op.drop_table("suppression_rule")
    op.drop_column("signal", "suppression_rule_id")
    op.drop_column("signal", "duplication_rule_id")
    op.add_column("signal_instance", sa.Column("filter_action", sa.String(), nullable=True))
    op.drop_column("signal_instance", "suppression_rule_id")
    op.drop_column("signal_instance", "duplication_rule_id")