database migration in 8.3.0: missing person
Marcus Winston
marcus at thechocolatehouse.net
Tue Apr 30 00:10:58 BST 2024
Thank you!
Deleting that erroneous extra tag enabled proper dB migration.
-marcus
On 4/29/24 13:04, Maik Qualmann wrote:
> I reply here in the thread so that everyone has the solution. You have LIssa
> and Lissa as tags under people in the database. So they differ in the "I" in
> the upper/lower case. This cannot be easily handled by MySQL. We have a bug
> report about this, we would have to save these text entries in binary mode,
> but this has other disadvantages. We already do it for the file name.
>
> So you can easily fix it since there are no images associated with "LIssa",
> just delete "LIssa" under people in the tags sidebar. Now you can migrate the
> database to MySQL again.
>
> Maik
>
> Am Montag, 29. April 2024, 20:53:01 MESZ schrieben Sie:
>> If a data record is not accepted, it is probably not valid and is already
>> broken in the SQLite database. Because the image id is not valid etc. If you
>> want, create a ZIP file of your digiKam4.db and send it to me, I'll take a
>> look at it.
>>
>> Maik
>>
>> Am Montag, 29. April 2024, 20:38:15 MESZ schrieb Marcus Winston:
>>> 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
>>>>> .h
>>>>> tml#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
>
>
>
More information about the Digikam-users
mailing list