Thanks for your advice! In case we choose to delete those topics completely I’ll set deleted_at and visible=false via a SQL-Query. Those topics will be deleted by a sidekiq-job after 30 days.
But if these topics should be kept, I do what you suggested and “delete” them via a little ruby-snippet using topic.delete.
So in both cases these topics get treated by discourse itself at the end which should take care of possible dependencies.
Thanks a lot!