Recommendation for cleaning up subscription while using sql server transport

I am exploring options to move to sql server transport from MSMQ. (using NSB 7.3.0). So bear with me on my questions. Couldn’t find anything else other than manual unsubscribe.
Autosubscribe is enabled and active.

public interface RequisitionSubmitted : IEvent
{
    Guid OrderId { get; set; }
}
public interface OrderSubmitted : RequisitionSubmitted {}
public interface TransferSubmitted : RequisitionSubmitted {}

Sender: endpointInstance.Publish<OrderSubmitted>(evt => evt.OrderId = orderSubmitted.OrderId);

V1 of the handler

public class OrderSubmittedHandler : IHandleMessages<OrderSubmitted>
{
    public Task Handle(OrderSubmitted message, IMessageHandlerContext context)
    {
        var orderAccepted = new OrderAccepted { OrderId = message.OrderId };
        return context.Reply(orderAccepted);
    }
}

V2 of the handler

public class OrderSubmittedHandler : IHandleMessages<RequisitionSubmitted>
{
    public Task Handle(RequisitionSubmitted message, IMessageHandlerContext context)
    {
        var orderAccepted = new OrderAccepted { OrderId = message.OrderId };
        return context.Reply(orderAccepted);
    }
}

My issue is after V2 is deployed subscription table will have 2 entries. Hence, OrderSubmittedHandler will be invoked twice for an event

#Subscription Table
QueueAddress	Endpoint	Topic
Samples.Sql.Receiver@[receiver]@[NsbSamplesSql]	Samples.Sql.Receiver	OrderSubmitted
Samples.Sql.Receiver@[receiver]@[NsbSamplesSql]	Samples.Sql.Receiver	RequisitionSubmitted

Any recommendation on how to clean up the subcription table? Is there a built-in functionality or do we have to clean up subscriptions before the endpoint is up and running?

This is really no different than if you were retiring the handler for OrderSubmitted, it just so happens that because of the inheritance relationship there is still something executed where normally in that situation you’d get a “missing handler” warning.

You need to manually remove the subscription from the table as part of the deployment.

Well, not exactly the same as retiring a handler. Anyways, I got what I was looking for. Thanks for the answer.