database migration in 8.3.0: missing person

Marcus Winston marcus at thechocolatehouse.net
Mon Apr 29 19:38:15 BST 2024


Follow-up/update:

I launched digiKam with all logging enabled, then activated database 
migration again.

I see in the log where the TagProperties are migrated. In the source 
data (SQLite) there are 384 rows; in the MySQL Server (actually running 
mariadb 10), there are 382 rows. It doesn't quite follow, as there are 
three rows of data for the person who is missing: a 'person', 
faceEngineID, and faceEngineUuid. In any case, the log file lists those 
rows of data, but those rows do not show up in the actual MySQL Server 
database (mariadb). That is, tagid=41 does not exist in the SQL Server 
dB. See log below.

Digikam::CoreDbCopyManager::copyTable: Core database: query 
isOnValidRow [ true ] isActive [ true ] result size: [ -1 ]
Digikam::CoreDbCopyManager::copyTable: Core database: column: [ 
"tagid" ] value [ QVariant(qlonglong, 41) ]
Digikam::CoreDbCopyManager::copyTable: Core database: column: [ 
"property" ] value [ QVariant(QString, "person") ]
Digikam::CoreDbCopyManager::copyTable: Core database: column: [ 
"value" ] value [ QVariant(QString, "Lissa") ]
Digikam::CoreDbCopyManager::copyTable: Core database: query 
isOnValidRow [ true ] isActive [ true ] result size: [ -1 ]
Digikam::CoreDbCopyManager::copyTable: Core database: column: [ 
"tagid" ] value [ QVariant(qlonglong, 41) ]
Digikam::CoreDbCopyManager::copyTable: Core database: column: [ 
"property" ] value [ QVariant(QString, "faceEngineId") ]
Digikam::CoreDbCopyManager::copyTable: Core database: column: [ 
"value" ] value [ QVariant(QString, "Lissa") ]
Digikam::CoreDbCopyManager::copyTable: Core database: query 
isOnValidRow [ true ] isActive [ true ] result size: [ -1 ]
Digikam::CoreDbCopyManager::copyTable: Core database: column: [ 
"tagid" ] value [ QVariant(qlonglong, 41) ]
Digikam::CoreDbCopyManager::copyTable: Core database: column: [ 
"property" ] value [ QVariant(QString, "faceEngineUuid") ]
Digikam::CoreDbCopyManager::copyTable: Core database: column: [ 
"value" ] value [ QVariant(QString, 
"{ef03ec83-b6ec-4449-b87f-b35fd8ade955}") ]

So, either the actual SQL command to write that data wasn't sent to the 
server, or the server failed to write the data. I'm not /that/ much of a 
SQL/mariadb expert to be able to dig into this. If anyone has 
suggestions, I'd certainly welcome them.

MarcusW

On 4/29/24 06:08, Marcus Winston wrote:
>
> If, by "first original", you mean this is the first person I named, or 
> identified, then yes, it's possible. I don't quite remember. It's 
> definitely not the last. It's also not the first person in the 
> recognition.db file.
>
> -Marcus
>
> On 4/29/24 00:21, Paul A. Norman wrote:
>> Dear Marcus,
>>
>> Just checking - can you recall whether that 'person' was entered as 
>> your first original, or even last entry?
>> Or just somewhere along the way sometime?
>>
>> -Paul
>> ------------------------------------------------------------------------
>> https://PaulANorman.info <https://PaulANorman.info>
>>
>>
>> On 29 April 2024 4:00:25 pm NZST, Marcus Winston 
>> <marcus at thechocolatehouse.net> wrote:
>>
>>     I did see that online doc, and followed it. What is confusing to me is
>>     whether the faces data is, or is not, "migrate-able". That is, when
>>     moving to MySQL Server, is all my previous face information essentially
>>     thrown away? When I read "all other databases have to be rebuilt as
>>     post-processing...", I'm not sure exactly what that means.
>>
>>     The Core database seems to have included all the face information,
>>     except for one person (one face). Rebuilding the faces database did not
>>     change that. Hence, I'm a little confused.
>>
>>     -MarcusW
>>
>>     On 4/28/24 20:54, Gilles Caulier wrote:
>>
>>         Hi, See explanation from the online doc:
>>         https://docs.digikam.org/en/setup_application/database_settings.html#database-migration
>>         Best Gilles Caulier Le lun. 29 avr. 2024 à 02:59, Marcus
>>         Winston <marcus at thechocolatehouse.net> a écrit :
>>
>>             Hello all, I'm using digiKam 8.3.0 on Linux (AppImage),
>>             and migrating the database to MySQL Server on a NAS. In
>>             the process, I have found a "missing person". That is,
>>             one of the people in my "database" (I use that term
>>             loosely, as I'm not sure the right word) is missing.
>>             There are 2700 pictures with this person's face
>>             identified in the SQLite version of "database". In the
>>             MySQL, after migrating it to the NAS, this person is
>>             entirely missing. All face tags with this person are
>>             gone. Is there any way to debug this? I don't really want
>>             to go through and manually re-train digiKam, and manually
>>             re-label a bunch of photos. It took me several hours to
>>             train it so far. Thanks. MarcusW 
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/digikam-users/attachments/20240429/46c4a270/attachment-0001.htm>


More information about the Digikam-users mailing list