Je travaille sur un test d’importation depuis un autre logiciel de forum et je rencontre un problème lors de l’importation des signets. L’importateur de base dispose de la fonction create_bookmarks, et je transmets les valeurs user_id et post_id. Le script ne génère aucune erreur et affiche la progression normale :
25 / 25 (100,0 %)
Cependant, aucun signet n’est créé. La table des signets est vide (vérifié via l’explorateur de données). Avez-vous une idée de pourquoi cela ne fonctionne pas comme prévu ?
Ah, il se peut que j’aie manqué les importateurs. Je vais jeter un coup d’œil dès ce matin (je commence dans environ une heure). En attendant, vous pouvez exécuter une tâche Rake pour synchroniser les signets issus des actions de publication vers la nouvelle table.
bundle exec rake bookmarks:sync_to_table
Il s’agit d’une action non destructive et vous pouvez l’exécuter autant de fois que vous le souhaitez.
Hmm. J’ai regardé dans la table post_actions et elle est également vide. Le code d’importation utilise-t-il un processus obsolète ici ? J’envisageais simplement d’exécuter une requête d’insertion directe dans la base de données, mais je vais voir si je peux creuser un peu plus ici aussi.
J’ai vérifié et j’ai bien omis create_bookmarks dans le script d’importation de base. Je vais soumettre une PR aujourd’hui pour qu’il crée des favoris dans la nouvelle table. C’est très étrange qu’il ne génère pas de favoris PostAction pour vous, cependant.