Sur mes 2780 utilisateurs supprimés :
- 133 n'ont aucune données dans le système (attention : je n'ai cherché que dans les tables ci-dessus avec les champs userid, il n'y en a peut etre d'autres !)
- 304 n'ont des données que dans des tables de "statistiques" : "log", "stats_user_daily", "stats_user_monthly", "stats_user_weekly"
- 1079 n'ont des données que dans des tables de "statistiques" ou dans des tables de "préférences" : "user_preferences", "course_display"
- 2416 n'ont des données que dans des tables de "statistiques", de préférences ou dans des tables de quizz et de notes : "grade_grades", "grade_grades_history", "quiz_attempts", "quiz_grades"
Vu que je migre de 1.9 à 2.2, je pense supprimer définitivement les utilisateurs supprimés qui n'ont des données que dans les tables de "statistiques" et de préférences (je supprime évidemment avec les données relatives dans ces tables). Qu'en pensez-vous ?
Les données stockées dans les tables "grade_grades", "grade_grades_history", "quiz_attempts", "quiz_grades" sont-elles nécessaires à l'intégrité de la base ?
Bien sur je comprends que l'enseignant va perdre les notes de cet étudiant si je supprime ces notes mais si cela se limite à cela, ca ne me pose aucun problème car je garde en archive une copie de ma plate-forme 1.9. (par exemple supprimer le contenu de la table log ne pose aucun problème d'intégrité d'après ce que j'ai lu et d'après ce que j'ai observé)
De manière générale, pour la migration, quelles tables puis-je remettre à zéro ? (par exemple, je vais vider les tables log, stats_user_daily; stats_user_monthly, stats_user_weekly)
Je mets le script en PJ. Il ne fait que lister les utilisateurs supprimés et les tables dans lesquelles il y a des données rattachées à cet utilisateur. Je vais écrire celui qui supprime les utilisateurs supprimés et leurs données.
Pour info, dans ma base de production, il reste des données des utilisateurs supprimés dans les tables suivantes :
Table assignment_submissions : 418 lignes.
Table chat_messages : 602 lignes.
Table choice_answers : 3 lignes.
Table course_display : 6110 lignes.
Table event : 11 lignes.
Table forum_discussions : 190 lignes.
Table forum_posts : 353 lignes.
Table grade_grades : 5358 lignes.
Table grade_grades_history : 123973 lignes.
Table hotpot_attempts : 10 lignes.
Table log : 3868 lignes.
Table message_contacts : 345 lignes.
Table quiz_attempts : 10390 lignes.
Table quiz_grades : 5455 lignes.
Table stats_user_daily : 10 lignes.
Table stats_user_monthly : 21133 lignes.
Table stats_user_weekly : 42 lignes.
Table tag : 107 lignes.
Table user_lastaccess : 63 lignes.
Table user_preferences : 2292 lignes.
Table wiki_pages : 100 lignes.
Si vous avez des informations sur ces tables qui pourraient être utiles ici, n'hésitez pas !
Pascal