web-dev-qa-db-fra.com

Comment supprimer les fichiers correctement?

J'ai ajouté un champ de pièce jointe à mes pages de base.

Maintenant, par exemple, je veux supprimer un certain fichier d'une page, comment dois-je procéder?

Je sais que le supprimer du système de fichiers n'est pas la bonne façon de procéder, car il en conserverait toujours un enregistrement dans la base de données.

Cependant, si je le supprime sur la page de base de la page "Modifier", il conservera également un enregistrement dans la base de données.

Comment nettoyer la base de données des fichiers qui n'existent pas ou qui ne sont plus utilisés?

J'utilise Drupal 8, les modules de navigateur d'entité Media and File.

6
Jedeco

Cependant, si je le supprime sur la page de base de la page "Modifier", il conservera également un enregistrement dans la base de données.

Correct, cependant après la modification, le status du fichier doit être défini sur 0. (À moins que le même fichier ne soit utilisé ailleurs.) Drupal a un système intégré qui devrait nettoie automatiquement ces fichiers périmés à la fois du système de fichiers et de la base de données, que vous pouvez configurer sur example.com/admin/config/media/file-system. La durée par défaut est fixée à 6 heures (selon le moment où Cron s'exécute, cela peut prendre jusqu'à la prochaine exécution Cron).

Sachez cependant qu'il existe des problèmes connus avec cette suppression automatique. Voir la section Le suivi de l'utilisation des fichiers provoque la suppression inattendue des fichiers dans les notes de version .

5
Neograph734

Contribué Drupal module Views Bulk Operations a la version Alpha D8 initiale qui peut aider à supprimer les entités de fichiers orphelins via l'interface utilisateur.

Installez le module, modifiez la vue Fichiers, ajoutez le champ global "Vues des opérations en bloc" et configurez-le pour inclure l'action "Supprimer les entités sélectionnées".

Le module est actuellement limité du point de vue de l'administrateur car il permet uniquement à la personne qui a téléchargé le fichier d'exécuter la suppression. Essayer de le faire comme quelqu'un d'autre (y compris l'utilisateur-1) échouera (avec un message d'erreur de journal). Espérons que cette limitation sera corrigée dans les versions à venir.

1
devad