Bonjour à tous;
Est-il possible de récupérer le contenu de la table mdl_log à partir des autres tables de la base de données "moodle"?
Merci d'avance.
Bonjour,
Je ne comprends pas le sens de ta question. Merci de détailler très clairement ce que tu voudrais faire, et pourquoi...
Pense aussi à préciser les versions utilisées (Moodle, MySQL...)
Séverin
Voici notre problème :
On surveille le nombre d'enregistrements quotidiennement , si ce nombre dépasse 1000000 d'enregistrements, alors on prends les 1million premiers on les met dans une autre table d'une autre base de données qu'on a appelé "moodle_purge", on les nomme mdl_log1,mdl_log2,....etc .
Par erreur, l'un de nos collègues a supprimé la table mdl_log3.
ESt-il possible de la récupérer?
Voici les versions de moodle et mysql:
MySQL 5.5.40-0
Bonjour,
En voila une très bonne question (je ne suis pas spécialiste MySQL ou système).
Si je comprends bien, vous faites une vérification chaque jour, et dès que la table mdl_log comporte plus d'un million de lignes, vous copiez ces lignes dans une nouvelle table, et les effacez de mdl_log ?
Dans ce cas, les lignes ayant disparu de mdl_log, je vois mal comment vous pourriez y accéder !
N'avez-vous pas une sauvegarde de votre autre base (moodle_purge) ? Sinon, il faut essayer de voir ce qui existe en terme de récupération de fichier... mais ça risque fort de ne pas être évident (surtout si vous êtes sur Linux, ou que beaucoup de manipulations ont été effectuées sur le disque).
Séverin
Oui, je comprends ce que vous dites, mais j'avais un petit espoir d'utiliser les champs de la table mdl_user :id,firstaccess et lastaccess ,pour récupérer ce qui a été perdu!
Merci quand même pour la clarification,Il y a peut-etre une autre solution, qui est de partir des logs MySQL
Selon le niveau de logs, et la durée de conservation, vous pouvez retrouver les insertions de la table mdl_log dans les logs MySQL
Reste à évaluer le rapport entre le temps et le travail nécessaire pour récupérer ces logs et la nécessité d'avoir accès à ces logs.
Si c'est absolument primordial pour des questions de rapports d'utilisation, etc ... pourquoi pas, si c'est juste pour les avoir 'au cas ou' vous en auriez besoin ... là c'est à vous d'en évaluer la nécessité
Bonjour,
Si je comprends bien, vous voulez utiliser les données des tables Moodle pour reconstruire les données perdues de la table mdl_log.
Le problème est que la table mdl_log n'est pas approvisionné par les données des autres tables, mais en direct, au moment ou les actions sont effectuées sur le site
Donc, de base, il n'y pas de code spécifique pour faire ce vous voulez.
Après, vous pouvez par des requêtes retrouver certains éléments, mais cela va être très complexe.
Exemple : Retrouver un dépôt de document à une date donnée ou entre 2 dates, c'est possible.
Retrouver qui s'est connecté entre 2 dates, moins évident puisque la table mdl_user ne contient que la dernière connexion de chaque utilisateur. Il faudra pour ce cas, croiser avec les logs de apache et/ou le système d'authentification, etc ... mais ce sera à vous de construire les données de la table mdl_log
A mon avis, si vous n'avez pas de sauvegarde de la base (moodle ou celle qui vous sert à stocker les données de mdl_log), c'est perdu ou cela va vous prendre un temps énorme pour reconstruire les logs