¿Es posible eliminar publicaciones de la base de datos?

Me disculpo de antemano si la pregunta es demasiado básica.
Tengo acceso a la base de datos de Discourse (a través del plugin).
¿Puedo eliminar algunos de los mensajes (que yo mismo creí en grandes cantidades durante las pruebas) usando una consulta?

delete from posts where id in (123, 567, ... etc)

¿Es seguro realizar este tipo de operaciones?

Si estás accediendo a la base de datos mediante el plugin Data Explorer, ten en cuenta que este solo permite consultas de solo lectura. No es posible utilizarlo para escribir en la base de datos.

Es posible eliminar completamente publicaciones desde la consola de Rails, pero no recomendamos hacerlo. Tu mejor opción sería utilizar el plugin Data Explorer para encontrar las publicaciones que deseas eliminar y luego usar las herramientas disponibles en la interfaz de usuario de Discourse para eliminarlas.

Si por alguna razón este enfoque no funciona para ti, avísanos y podemos proporcionarte detalles sobre cómo eliminar publicaciones desde la consola de Rails.

No soy experto en este motor, pero supongo que no es seguro, ya que de esa manera solo eliminarías la entrada de la tabla de publicaciones, y una publicación puede tener entradas vinculadas en otras tablas, además de mucha información de metadatos asociada a ese post_id. Más adelante, algo podría fallar. Por lo tanto, deberías utilizar las herramientas integradas para eliminar publicaciones.

Gracias, Nikolay.
También lo creo… Pero de repente aparecerán verdaderos expertos de esta aplicación y dirán: ¡siéntete libre de borrar! )))

Excepto que ningún experto dice que esté bien:

  • No se recomienda.
  • No está en la hoja de ruta de Discourse y no hay planes para añadirlo.
  • No se está desarrollando porque un borrado permanente no se puede deshacer.
  • Nadie ha pagado para que se desarrolle esta función.

Nadie que lo haya solicitado ha desarrollado esta función porque es demasiado difícil o no vale la pena el costo de desarrollarla.

Consulta este tema para ver ejemplos de estos puntos:

No me consideraría un experto, pero he examinado, analizado y manipulado archivos y código bastante a lo largo de los años.

He visto suficiente para convencerme de que, por mi cuenta, no tengo los conocimientos necesarios para hacer más que experimentar en localhost. Lo que he visto, y lo que no he visto, me hace reflexionar.

Nunca he visto ni un solo “ON DELETE CASCADE``. Sí he visto muchos "has_many", "dependent:", "Índices" y "ensure_consistency`” en numerosos archivos de modelos. Hay un archivo de trabajo: discourse/app/jobs/scheduled/ensure_db_consistency.rb at main · discourse/discourse · GitHub

Personalmente, aunque me gusta mucho Discourse, no esperaría que se hicieran cargo de las consecuencias de acciones que se salen de las protecciones básicas. Es decir, a menudo rompo mi propio código, pero asumo toda la responsabilidad cuando ocurre. Pero eso es yo. Y, por supuesto, podría haber algún código principal en algún lugar del que aún no tenga conocimiento.

Además,

Pero eso sería inútil en el caso del OP.