1 votes

Dernier import bloqué dans le dossier Événements d'iPhoto après la migration vers l'application Photos

Je viens de mettre à jour vers la nouvelle application Photos sur OS X et j'ai migré ma bibliothèque iPhoto vers la nouvelle application. En m'habituant à tous les changements, j'ai remarqué un problème : il semble que l'album Dernière importation soit bloqué dans le dossier Événements d'iPhoto pour une raison quelconque. (Est-ce que la base de données d'iPhoto considère Dernière importation comme un "événement" ?)

Je peux dire que le seul album est Dernière importation parce que :

  • J'ai déplacé tous les autres albums hors du dossier, mais il indique toujours qu'il reste un album à l'intérieur, même si la vue montre que l'intérieur est vide.

  • Quand je reviens à la vue de l'album de niveau supérieur, le dossier Événements d'iPhoto montre contenir une vignette d'album contrairement à la vue intérieure. La vignette à l'intérieur du dossier correspond à la vignette de Dernière importation.

  • Quand je déplace des photos hors de Dernière importation et que j'importe un autre ensemble de photos, les deux vignettes se mettent à jour.

Maintenant, voici le problème plus important : si je supprime le dossier Événements d'iPhoto maintenant, je vais perdre l'album Dernière importation de façon permanente sans moyen apparent de le récupérer via l'interface utilisateur ou les préférences de l'application. (Je suppose que je peux le récupérer en modifiant soit le fichier plist de l'application dans ~/Library/Containers/com.apple.Photos/Data/Library/Preferences ou un ou plusieurs fichiers dans le package, mais je ne sais pas où chercher.)

J'ai essayé

  • d'importer de nouvelles photos pour voir si Dernière importation réapparaîtra, mais ce n'est pas le cas.

  • de réparer la bibliothèque de Photos en utilisant la même méthode qu'iPhoto (maintenir les touches Commande et Option lors de l'ouverture de l'application), mais cela n'aide pas.

  • de réparer la bibliothèque iPhoto avant la migration vers Photos, mais cela n'aide pas non plus.

  • d'annuler la suppression, mais cela ramène simplement à la fois Dernière importation et le dossier Événements d'iPhoto.

J'ai réimporté la bibliothèque iPhoto d'origine pour le moment afin que son état d'origine soit préservé. Que puis-je faire pour séparer Dernière importation du dossier Événements d'iPhoto afin de pouvoir supprimer en toute sécurité ce dernier ?

0voto

BoltClock Points 844

J'ai créé une nouvelle bibliothèque iPhoto, y ai ajouté quelques photos, et ai migré cette bibliothèque vers Photos, mais je n'ai pas pu reproduire ce problème. Il semble donc qu'un autre problème avec ma bibliothèque iPhoto d'origine se pose. Génial.

J'ai donc décidé de regarder directement dans la base de données de la bibliothèque Photos pour voir ce qui se passait. La base de données de la bibliothèque Photos se trouve dans ~/Pictures/Photos Library.photoslibrary/Database/Library.apdb; il s'agit d'une base de données SQLite qui peut être ouverte à l'aide de l'outil en ligne de commande sqlite3, ou de n'importe quelle GUI que vous préférez.

Si vous vous apprêtez à suivre les étapes de ma réponse au-delà de ce point, n'oubliez pas de sauvegarder le fichier de bibliothèque avant de continuer.

Le schéma de RKAlbum contient une colonne folderUuid qui associe un album à un dossier (dans RKFolder). Dans la bibliothèque Photos qui a été migrée depuis la nouvelle bibliothèque iPhoto, l'album Dernier import ressemble à ceci :

sqlite> SELECT name, folderUuid FROM RKAlbum WHERE name = 'Last Import';
Last Import|LibraryFolder

Mais dans la bibliothèque Photos qui a été créée à partir de ma bibliothèque iPhoto d'origine, l'album ressemble à ceci :

sqlite> SELECT name, folderUuid FROM RKAlbum WHERE name = 'Last Import';
Last Import|cQeJj7YPRmSxHysWN+ql4w

Remarquez que folderUuid est une chaîne générée ici et non 'LibraryFolder'. De toute évidence, il s'agit d'un dossier arbitraire — plus précisément le dossier Événements iPhoto créé dans le cadre du processus de migration. Et bien sûr :

sqlite> SELECT uuid, name FROM RKFolder WHERE uuid = 'cQeJj7YPRmSxHysWN+ql4w';
cQeJj7YPRmSxHysWN+ql4w|Événements iPhoto

Comme solution temporaire, modifier la colonne directement semble fonctionner :

sqlite> UPDATE RKAlbum SET folderUuid = 'LibraryFolder' WHERE name = 'Last Import';

En ouvrant maintenant Photos et en supprimant le dossier Événements iPhoto, le Dernier import reste intact. L'importation de nouvelles photos ne cause aucun problème supplémentaire ; le dossier Dernier import se comporte comme il l'a toujours fait, et devrait continuer ainsi.


Par curiosité, j'ai décidé de découvrir ce qui faisait que Photos place le Dernier import dans le dossier Événements iPhoto en premier lieu.

Il s'avère que dans ma bibliothèque iPhoto d'origine, le folderUuid du Dernier import n'était pas 'LibraryFolder', mais 'AllProjectsItem'

sqlite> SELECT name, folderUuid FROM RKAlbum WHERE name = 'Last Import';
Last Import|AllProjectsItem
sqlite> SELECT name, folderUuid FROM RKAlbum WHERE folderUuid = 'AllProjectsItem';
Events|AllProjectsItem
Last Import|AllProjectsItem

Ce n'est pas le cas dans la nouvelle bibliothèque iPhoto :

sqlite> SELECT name, folderUuid FROM RKAlbum WHERE name = 'Last Import';
Last Import|LibraryFolder

Corriger la colonne incorrecte dans la base de données de la bibliothèque iPhoto d'origine (avec la même déclaration UPDATE que ci-dessus) semble également résoudre le problème du dossier Dernier import lors de la migration vers Photos. Je pense que je vais choisir cette option car elle corrige à la fois les anciennes et les nouvelles bibliothèques.

Comme dans ma question précédente, je ne comprends pas pourquoi ou comment ma bibliothèque iPhoto d'origine en est arrivée à cet état en premier lieu, ou pourquoi réparer/reconstruire la bibliothèque n'a pas du tout aidé. Ai-je été victime d'un bug rare dans iPhoto ? Utilisais-je iPhoto de manière incorrecte ? De toute façon, je suis chanceux de connaître un peu SQLite et donc d'avoir pu corriger cela par moi-même — si par hasard quelqu'un est confronté à ce même problème, j'espère que ce message leur sera utile.

Encore une fois, n'oubliez pas de sauvegarder la bibliothèque entière en premier lieu.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X