Search: Update files.media_id and time_index on MariaDB and SQLite #2265
This commit is contained in:
parent
e59ecc07e4
commit
ce709957d6
8 changed files with 20 additions and 8 deletions
|
@ -133,7 +133,7 @@ func (m File) RegenerateIndex() {
|
|||
gorm.Expr(filesTable), gorm.Expr(photosTable), updateWhere).Error)
|
||||
|
||||
Log("files", "regenerate media_id",
|
||||
Db().Exec("UPDATE ? SET media_id = CASE WHEN file_missing = 0 AND deleted_at IS NULL THEN CONCAT(HEX(100000000000 - photo_id), '-', 1 + file_sidecar - file_primary, '-', file_uid) ELSE NULL END WHERE ?",
|
||||
Db().Exec("UPDATE ? SET media_id = CASE WHEN file_missing = 0 AND deleted_at IS NULL THEN CONCAT((10000000000 - photo_id), '-', 1 + file_sidecar - file_primary, '-', file_uid) ELSE NULL END WHERE ?",
|
||||
gorm.Expr(filesTable), updateWhere).Error)
|
||||
|
||||
Log("files", "regenerate time_index",
|
||||
|
@ -145,7 +145,7 @@ func (m File) RegenerateIndex() {
|
|||
gorm.Expr(filesTable), gorm.Expr(photosTable), updateWhere).Error)
|
||||
|
||||
Log("files", "regenerate media_id",
|
||||
Db().Exec("UPDATE ? SET media_id = CASE WHEN file_missing = 0 AND deleted_at IS NULL THEN (HEX(100000000000 - photo_id) || '-' || (1 + file_sidecar - file_primary) || '-' || file_uid) ELSE NULL END WHERE ?",
|
||||
Db().Exec("UPDATE ? SET media_id = CASE WHEN file_missing = 0 AND deleted_at IS NULL THEN ((10000000000 - photo_id) || '-' || (1 + file_sidecar - file_primary) || '-' || file_uid) ELSE NULL END WHERE ?",
|
||||
gorm.Expr(filesTable), updateWhere).Error)
|
||||
|
||||
Log("files", "regenerate time_index",
|
||||
|
|
|
@ -60,7 +60,7 @@ var DialectMySQL = Migrations{
|
|||
{
|
||||
ID: "20220329-082000",
|
||||
Dialect: "mysql",
|
||||
Statements: []string{"UPDATE files SET media_id = CASE WHEN file_missing = 0 AND deleted_at IS NULL THEN CONCAT(HEX(100000000000 - photo_id), '-', 1 + file_sidecar - file_primary, '-', file_uid) END;"},
|
||||
Statements: []string{"UPDATE files SET media_id = CASE WHEN file_missing = 0 AND deleted_at IS NULL THEN CONCAT((10000000000 - photo_id), '-', 1 + file_sidecar - file_primary, '-', file_uid) END;"},
|
||||
},
|
||||
{
|
||||
ID: "20220329-090000",
|
||||
|
@ -77,4 +77,9 @@ var DialectMySQL = Migrations{
|
|||
Dialect: "mysql",
|
||||
Statements: []string{"UPDATE files SET time_index = CASE WHEN file_missing = 0 AND deleted_at IS NULL THEN CONCAT(100000000000000 - CAST(photo_taken_at AS UNSIGNED), '-', media_id) END;"},
|
||||
},
|
||||
{
|
||||
ID: "20220421-200000",
|
||||
Dialect: "mysql",
|
||||
Statements: []string{"CREATE OR REPLACE INDEX idx_files_missing_root ON files (file_missing, file_root);"},
|
||||
},
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ var DialectSQLite3 = Migrations{
|
|||
{
|
||||
ID: "20220329-082000",
|
||||
Dialect: "sqlite3",
|
||||
Statements: []string{"UPDATE files SET media_id = CASE WHEN file_uid <> '' AND photo_id > 0 AND file_missing = 0 AND deleted_at IS NULL THEN (HEX(100000000000 - photo_id) || '-' || (1 + file_sidecar - file_primary) || '-' || file_uid) ELSE NULL END WHERE photo_id IS NOT NULL;"},
|
||||
Statements: []string{"UPDATE files SET media_id = CASE WHEN photo_id IS NOT NULL AND file_missing = 0 AND deleted_at IS NULL THEN ((10000000000 - photo_id) || '-' || (1 + file_sidecar - file_primary) || '-' || file_uid) END WHERE 1;"},
|
||||
},
|
||||
{
|
||||
ID: "20220329-091000",
|
||||
|
@ -50,6 +50,11 @@ 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 - strftime('%Y%m%d%H%M%S', photo_taken_at)) || '-' || 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;"},
|
||||
},
|
||||
{
|
||||
ID: "20220421-200000",
|
||||
Dialect: "sqlite3",
|
||||
Statements: []string{"CREATE INDEX IF NOT EXISTS idx_files_missing_root ON files (file_missing, file_root);"},
|
||||
},
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
UPDATE files SET media_id = CASE WHEN file_missing = 0 AND deleted_at IS NULL THEN CONCAT(HEX(100000000000 - photo_id), '-', 1 + file_sidecar - file_primary, '-', file_uid) END;
|
||||
UPDATE files SET media_id = CASE WHEN file_missing = 0 AND deleted_at IS NULL THEN CONCAT((10000000000 - photo_id), '-', 1 + file_sidecar - file_primary, '-', file_uid) END;
|
1
internal/migrate/mysql/20220421-200000.sql
Normal file
1
internal/migrate/mysql/20220421-200000.sql
Normal file
|
@ -0,0 +1 @@
|
|||
CREATE OR REPLACE INDEX idx_files_missing_root ON files (file_missing, file_root);
|
|
@ -1 +1 @@
|
|||
UPDATE files SET media_id = CASE WHEN file_uid <> '' AND photo_id > 0 AND file_missing = 0 AND deleted_at IS NULL THEN (HEX(100000000000 - photo_id) || '-' || (1 + file_sidecar - file_primary) || '-' || file_uid) ELSE NULL END WHERE photo_id IS NOT NULL;
|
||||
UPDATE files SET media_id = CASE WHEN photo_id IS NOT NULL AND file_missing = 0 AND deleted_at IS NULL THEN ((10000000000 - photo_id) || '-' || (1 + file_sidecar - file_primary) || '-' || file_uid) END WHERE 1;
|
|
@ -1 +1 @@
|
|||
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;
|
||||
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;
|
1
internal/migrate/sqlite3/20220421-200000.sql
Normal file
1
internal/migrate/sqlite3/20220421-200000.sql
Normal file
|
@ -0,0 +1 @@
|
|||
CREATE INDEX IF NOT EXISTS idx_files_missing_root ON files (file_missing, file_root);
|
Loading…
Reference in a new issue