Search: Fix files.time_index generation on SQLite #2265

This commit is contained in:
Michael Mayer 2022-04-21 19:47:16 +02:00
parent 5a62709b1a
commit 94b4173cf9
5 changed files with 6 additions and 5 deletions

View file

@ -1,5 +1,5 @@
# Debian 12, Codename 'Bookworm'
FROM photoprism/develop:220418-bookworm
FROM photoprism/develop:220421-bookworm
## alternative base images
# FROM photoprism/develop:bullseye # Debian 11, Codename 'Bullseye'

View file

@ -149,7 +149,7 @@ func (m File) RegenerateIndex() {
gorm.Expr(filesTable), updateWhere).Error)
Log("files", "regenerate time_index",
Db().Exec("UPDATE ? SET time_index = CASE WHEN media_id IS NOT NULL AND photo_taken_at IS NOT NULL THEN ((100000000000000 - CAST(photo_taken_at AS UNSIGNED)) || '-' || media_id) ELSE NULL END WHERE ?",
Db().Exec("UPDATE ? SET time_index = CASE WHEN media_id IS NOT NULL AND photo_taken_at IS NOT NULL THEN ((100000000000000 - strftime('%Y%m%d%H%M%S', photo_taken_at)) || '-' || media_id) ELSE NULL END WHERE ?",
gorm.Expr(filesTable), updateWhere).Error)
default:
log.Warnf("sql: unsupported dialect %s", DbDialect())

View file

@ -50,6 +50,6 @@ var DialectSQLite3 = Migrations{
{
ID: "20220329-092000",
Dialect: "sqlite3",
Statements: []string{"UPDATE files SET time_index = CASE WHEN media_id IS NOT NULL AND photo_taken_at IS NOT NULL THEN ((100000000000000 - CAST(photo_taken_at AS UNSIGNED)) || '-' || media_id) ELSE NULL END WHERE photo_id IS NOT NULL;"},
Statements: []string{"UPDATE files SET time_index = CASE WHEN media_id IS NOT NULL AND photo_taken_at IS NOT NULL THEN (((100000000000000 - strftime('%Y%m%d%H%M%S', photo_taken_at)) || '-' || media_id) ELSE NULL END WHERE photo_id IS NOT NULL;"},
},
}

View file

@ -1 +1 @@
UPDATE files SET time_index = CASE WHEN media_id IS NOT NULL AND photo_taken_at IS NOT NULL THEN ((100000000000000 - CAST(photo_taken_at AS UNSIGNED)) || '-' || media_id) ELSE NULL END WHERE photo_id IS NOT NULL;
UPDATE files SET time_index = CASE WHEN media_id IS NOT NULL AND photo_taken_at IS NOT NULL THEN (((100000000000000 - strftime('%Y%m%d%H%M%S', photo_taken_at)) || '-' || media_id) ELSE NULL END WHERE photo_id IS NOT NULL;

View file

@ -1,9 +1,10 @@
package search
import (
"testing"
"github.com/photoprism/photoprism/internal/form"
"github.com/stretchr/testify/assert"
"testing"
)
func TestPhotosFilterFaces(t *testing.T) {