database migration in 8.3.0: missing person
Maik Qualmann
metzpinguin at gmail.com
Mon Apr 29 19:53:01 BST 2024
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