Ma situation implique un répertoire contenant des fichiers MP3, et une base de données qui devrait contenir toutes les métadonnées MP3 (genres, noms d'artistes, noms d'album, et noms de pistes) des fichiers MP3 dans ce répertoire. La base de données doit toujours refléter ce qui se trouve dans le répertoire, c'est-à-dire que ... l'algorithme que je cherche ne devrait jamais supprimer des éléments du répertoire, seulement de la base de données. Le répertoire est l'original, la base de données doit être la copie exacte du répertoire après l'exécution du programme, et le répertoire doit rester intact par le programme. D'après ce que je comprends, je crois que je devrais faire une boucle sur le contenu du répertoire en insérant des enregistrements dans la base de données quand je rencontre des métadonnées MP3 qui se trouvent dans le répertoire mais qui ne se trouvent pas dans la base de données. Ensuite, faites une boucle sur le contenu de la base de données et supprimez de la base de données ce qui ne se trouve pas dans le répertoire.Qu'est-ce qu'un moyen pratique de synchroniser des données dans un répertoire vers une base de données?
Existe-t-il un algorithme général pour synchroniser deux choses telles qu'un répertoire et une base de données? Y a-t-il une meilleure façon de faire cela que ce que j'ai décrit? J'essaye de compléter cette tâche en utilisant Ruby Sequel et MySQL, au cas où cela serait important.
Juste pour clarifier, supposons que toutes les données d'étiquette MP3 sont correctes. Je cours tous les fichiers par l'intermédiaire d'un étiqueteur MP3 automatique et m'assure que tout est étiqueté avec précision avant de le déplacer dans ce répertoire.
Ma solution préférée serait d'exécuter un script Ruby manuellement, plutôt qu'avec Cron par exemple. Mes raisons sont parce que c'est la langue que j'utilise déjà pour mettre en œuvre la plupart de ce projet, et je dois marquer manuellement tous les fichiers MP3 et vérifier qu'ils sont corrects, donc je ne veux pas que des scripts soient exécutés jusqu'à ce que je puisse vérifier les fichiers dans mon répertoire MP3 sont bons à faire.