Eliminare definitivamente i post eliminati in blocco?

Gentile Team,

Aiutatemi a risolvere questo problema!

Abbiamo troppi post cancellati e dobbiamo eliminarli definitivamente, ma in blocco!

3 Mi Piace

Un argomento eliminato è esattamente ciò che dice, un argomento eliminato. Non è necessaria alcuna ulteriore azione e solo gli amministratori possono visualizzare tali argomenti. Stai eliminando direttamente un argomento già eliminato.

1 Mi Piace

Non voglio che siano nella lista degli argomenti cancellati, voglio eliminarli dal database.

Quindi, c’è qualche comando o metodo per cancellarli?

5 Mi Piace

Non è qualcosa che ho fatto, ma questo argomento è utile:

2 Mi Piace

Non utile :frowning: per favore aiutami se trovi qualcosa?

1 Mi Piace

Forse questo può aiutarti

2 Mi Piace

image

non mostra la categoria post eliminati??

1 Mi Piace

Hai una categoria con lo slug deleted-posts? I post nello screenshot sembrano essere probabilmente in categorie con slug diversi.

image

1 Mi Piace

Se elimino per categoria, tutti i POST che non sono in deleted-posts verranno cancellati!

Quindi, puoi aiutarmi a eliminare deleted-posts dal DB?

2 Mi Piace

Anche io sto cercando un modo per farlo. Dopo molte ricerche qui su Meta e numerosi tentativi falliti, ora sono piuttosto confuso su tutto.

Possiamo davvero eliminare definitivamente i post cancellati dal database? Come?

2 Mi Piace

Se puoi eliminare una categoria, allora puoi eliminare i post eliminati.

Sto ricostruendo la mia app di test per installare Data Explorer

:slight_smile:

1 Mi Piace

Non sono sicuro di come farlo. Stavo solo menzionando che il comando che hai digitato sembra cercare una categoria con lo slug deleted-posts.

1 Mi Piace

Quando elimini una categoria tramite il task Rake, tutti i post (non solo i topic) al suo interno vengono cancellati. Tuttavia, vengono solo soft-deletati.

Rimango incerto su come rimuovere effettivamente i post dal database. Rimango anche incerto su come eliminare i file caricati associati ai miei post cancellati. Entrambi stanno causando un bel mal di testa al momento.

2 Mi Piace

Penso che gli allegati vengano eliminati automaticamente da uno dei processi giornalieri, a condizione che non facciano parte dell’ultima versione del post. Quindi, modificare il post cancellato in “(cancellato dall’amministratore)” o qualcosa di simile farebbe sì che il suo allegato diventi parte della cronologia delle modifiche, rendendolo orfano (e quindi raccolto dal processo di pulizia “clear orphan”).

Sto solo facendo un’ipotesi, quindi potrei sbagliare. :slightly_smiling_face:

Fonte:

1 Mi Piace

Se accedi a PostgreSQL, puoi eliminarlo dal database.

Sto esaminando i task attuali di rake destroy e sto cercando di capire come funzionano. Forse le persone che hanno creato il task di destroy attuale possono implementare qualcosa per noi per eliminare i post cancellati.

3 Mi Piace

SÏ, è corretto.
Per eliminare un allegato, devi rimuovere il contenuto del messaggio e poi cancellare il messaggio stesso.

2 Mi Piace

Se hai qualche comando o qualcosa di utile e veloce, condividilo pure con me!

1 Mi Piace

Grazie Richard e @JammyDodger!

Il mio unico problema è che devo farlo per 20.000 messaggi. Conosci qualche scorciatoia?

2 Mi Piace

Temo di essere all’inizio del mio percorso con Discourse, quindi non possiedo le competenze necessarie per farlo. :slightly_smiling_face:

È possibile modificare questo approccio per prendere di mira i post cancellati invece dei post di un utente, ottenendo un risultato simile?

1 Mi Piace

Post.with_deleted.where('deleted_at is not null').update_all(raw: 'Questo post è stato eliminato', cooked: 'Questo post è stato eliminato')

6 Mi Piace