def downgrade()

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


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column(
        "signal_instance",
        sa.Column("duplication_rule_id", sa.INTEGER(), autoincrement=False, nullable=True),
    )
    op.add_column(
        "signal_instance",
        sa.Column("suppression_rule_id", sa.INTEGER(), autoincrement=False, nullable=True),
    )
    op.create_foreign_key(
        "signal_instance_suppression_rule_id_fkey",
        "signal_instance",
        "suppression_rule",
        ["suppression_rule_id"],
        ["id"],
    )
    op.create_foreign_key(
        "signal_instance_duplication_rule_id_fkey",
        "signal_instance",
        "duplication_rule",
        ["duplication_rule_id"],
        ["id"],
    )
    op.drop_column("signal_instance", "filter_action")
    op.add_column(
        "signal", sa.Column("duplication_rule_id", sa.INTEGER(), autoincrement=False, nullable=True)
    )
    op.add_column(
        "signal", sa.Column("suppression_rule_id", sa.INTEGER(), autoincrement=False, nullable=True)
    )
    op.create_foreign_key(
        "signal_duplication_rule_id_fkey",
        "signal",
        "duplication_rule",
        ["duplication_rule_id"],
        ["id"],
    )
    op.create_foreign_key(
        "signal_suppression_rule_id_fkey",
        "signal",
        "suppression_rule",
        ["suppression_rule_id"],
        ["id"],
    )
    op.add_column(
        "plugin_instance",
        sa.Column(
            "configuration",
            postgresql.JSON(astext_type=sa.Text()),
            autoincrement=False,
            nullable=True,
        ),
    )
    op.drop_index("entity_search_vector_idx", table_name="entity", postgresql_using="gin")
    op.create_index("ix_entity_search_vector", "entity", ["search_vector"], unique=False)
    op.create_table(
        "service_incident",
        sa.Column("incident_id", sa.INTEGER(), autoincrement=False, nullable=False),
        sa.Column("service_id", sa.INTEGER(), autoincrement=False, nullable=False),
        sa.ForeignKeyConstraint(
            ["incident_id"], ["incident.id"], name="service_incident_incident_id_fkey"
        ),
        sa.ForeignKeyConstraint(
            ["service_id"], ["service.id"], name="service_incident_service_id_fkey"
        ),
        sa.PrimaryKeyConstraint("incident_id", "service_id", name="service_incident_pkey"),
    )
    op.create_table(
        "assoc_suppression_rule_tags",
        sa.Column("suppression_rule_id", sa.INTEGER(), autoincrement=False, nullable=False),
        sa.Column("tag_id", sa.INTEGER(), autoincrement=False, nullable=False),
        sa.ForeignKeyConstraint(
            ["suppression_rule_id"],
            ["suppression_rule.id"],
            name="assoc_suppression_rule_tags_suppression_rule_id_fkey",
            ondelete="CASCADE",
        ),
        sa.ForeignKeyConstraint(
            ["tag_id"],
            ["tag.id"],
            name="assoc_suppression_rule_tags_tag_id_fkey",
            ondelete="CASCADE",
        ),
        sa.PrimaryKeyConstraint(
            "suppression_rule_id", "tag_id", name="assoc_suppression_rule_tags_pkey"
        ),
    )
    op.create_table(
        "assoc_duplication_rule_tag_types",
        sa.Column("duplication_rule_id", sa.INTEGER(), autoincrement=False, nullable=False),
        sa.Column("tag_type_id", sa.INTEGER(), autoincrement=False, nullable=False),
        sa.ForeignKeyConstraint(
            ["duplication_rule_id"],
            ["duplication_rule.id"],
            name="assoc_duplication_rule_tag_types_duplication_rule_id_fkey",
            ondelete="CASCADE",
        ),
        sa.ForeignKeyConstraint(
            ["tag_type_id"],
            ["tag_type.id"],
            name="assoc_duplication_rule_tag_types_tag_type_id_fkey",
            ondelete="CASCADE",
        ),
        sa.PrimaryKeyConstraint(
            "duplication_rule_id", "tag_type_id", name="assoc_duplication_rule_tag_types_pkey"
        ),
    )
    op.create_table(
        "assoc_signal_instance_tags",
        sa.Column("signal_instance_id", postgresql.UUID(), autoincrement=False, nullable=False),
        sa.Column("tag_id", sa.INTEGER(), autoincrement=False, nullable=False),
        sa.ForeignKeyConstraint(
            ["signal_instance_id"],
            ["signal_instance.id"],
            name="assoc_signal_instance_tags_signal_instance_id_fkey",
            ondelete="CASCADE",
        ),
        sa.ForeignKeyConstraint(
            ["tag_id"],
            ["tag.id"],
            name="assoc_signal_instance_tags_tag_id_fkey",
            ondelete="CASCADE",
        ),
        sa.PrimaryKeyConstraint(
            "signal_instance_id", "tag_id", name="assoc_signal_instance_tags_pkey"
        ),
    )
    op.create_table(
        "suppression_rule",
        sa.Column("evergreen", sa.BOOLEAN(), autoincrement=False, nullable=True),
        sa.Column("evergreen_owner", sa.VARCHAR(), autoincrement=False, nullable=True),
        sa.Column("evergreen_reminder_interval", sa.INTEGER(), autoincrement=False, nullable=True),
        sa.Column(
            "evergreen_last_reminder_at", postgresql.TIMESTAMP(), autoincrement=False, nullable=True
        ),
        sa.Column("id", sa.INTEGER(), autoincrement=True, nullable=False),
        sa.Column("mode", sa.VARCHAR(), autoincrement=False, nullable=False),
        sa.Column("expiration", postgresql.TIMESTAMP(), autoincrement=False, nullable=True),
        sa.Column("project_id", sa.INTEGER(), autoincrement=False, nullable=True),
        sa.ForeignKeyConstraint(
            ["project_id"],
            ["project.id"],
            name="suppression_rule_project_id_fkey",
            ondelete="CASCADE",
        ),
        sa.PrimaryKeyConstraint("id", name="suppression_rule_pkey"),
    )
    op.create_table(
        "duplication_rule",
        sa.Column("evergreen", sa.BOOLEAN(), autoincrement=False, nullable=True),
        sa.Column("evergreen_owner", sa.VARCHAR(), autoincrement=False, nullable=True),
        sa.Column("evergreen_reminder_interval", sa.INTEGER(), autoincrement=False, nullable=True),
        sa.Column(
            "evergreen_last_reminder_at", postgresql.TIMESTAMP(), autoincrement=False, nullable=True
        ),
        sa.Column("id", sa.INTEGER(), autoincrement=True, nullable=False),
        sa.Column("mode", sa.VARCHAR(), autoincrement=False, nullable=False),
        sa.Column("project_id", sa.INTEGER(), autoincrement=False, nullable=True),
        sa.Column("window", sa.INTEGER(), autoincrement=False, nullable=True),
        sa.ForeignKeyConstraint(
            ["project_id"],
            ["project.id"],
            name="duplication_rule_project_id_fkey",
            ondelete="CASCADE",
        ),
        sa.PrimaryKeyConstraint("id", name="duplication_rule_pkey"),
    )
    op.drop_index(
        "signal_filter_search_vector_idx", table_name="signal_filter", postgresql_using="gin"
    )
    op.drop_table("signal_filter")