Заранее приношу извинения, если вопрос покажется слишком простым.
У меня есть доступ к базе данных Discourse (через плагин).
Могу ли я удалить некоторые посты (которые я сам создал в большом количестве во время тестирования) с помощью запроса?
delete from posts where id in (123, 567, ... и т. д.)
Если вы получаете доступ к базе данных через плагин Data Explorer, обратите внимание, что этот плагин позволяет выполнять только запросы только для чтения. Использовать его для записи в базу данных невозможно.
Полностью удалить сообщения можно через консоль Rails, но мы не рекомендуем этого делать. Лучший подход — использовать плагин Data Explorer для поиска сообщений, которые вы хотите удалить, а затем воспользоваться инструментами, доступными в интерфейсе пользователя Discourse, для их удаления.
Если по какой-то причине этот подход вам не подходит, дайте нам знать, и мы предоставим информацию об удалении сообщений через консоль Rails.
Я не эксперт в этом движке, но предполагаю, что это небезопасно, потому что в таком случае вы удалите запись только из таблицы posts, а у одного поста могут быть связанные записи в других таблицах и множество мета-данных, привязанных к этому post_id. Впоследствии что-то может сломаться. Поэтому вам следует использовать встроенные инструменты для удаления постов.
За исключением того, что ни один эксперт не считает это допустимым: * Это не рекомендуется. * Это не входит в дорожную карту Discourse, и планов по добавлению этой функции нет. * Разработка не ведется, поскольку удаление навсегда нельзя отменить. * Никто не оплатил разработку этой функции. Никто из тех, кто запрашивал эту функцию, не реализовал её, так как это либо слишком сложно, либо не оправдывает затрат на разработку. Ознакомьтесь с примерами, подтверждающими эти пункты, в следующей теме: How to remove post completely?
Я бы не назвал себя экспертом, но за годы я немало работал с файлами и кодом: изучал их, анализировал и экспериментировал.
Я видел достаточно, чтобы понять: самостоятельно мне не хватает знаний, чтобы делать что-то большее, чем эксперименты в локальной среде. То, что я видел, и то, чего не видел, заставляет задуматься.
Лично, насколько мне нравится Discourse, я бы не ожидал, что они будут разбираться с последствиями действий, выходящих за рамки базовых механизмов защиты. То есть я часто ломаю собственный код, но полностью беру на себя ответственность, когда это происходит. Но это я. И, конечно, может существовать какой-то базовый код, о котором я пока не знаю.