23 lines
609 B
MySQL
23 lines
609 B
MySQL
|
|
-- +goose Up
|
||
|
|
|
||
|
|
-- Backfill album.created_at for rows poisoned by early scanner versions or
|
||
|
|
-- propagated via CopyAttributes during metadata-driven ID changes. Prefer the
|
||
|
|
-- oldest valid birth_time from the album's media files, fall back to updated_at.
|
||
|
|
UPDATE album
|
||
|
|
SET created_at = COALESCE(
|
||
|
|
(SELECT MIN(birth_time)
|
||
|
|
FROM media_file
|
||
|
|
WHERE media_file.album_id = album.id
|
||
|
|
AND birth_time IS NOT NULL
|
||
|
|
AND birth_time != ''
|
||
|
|
AND birth_time NOT LIKE '0001-%'),
|
||
|
|
updated_at
|
||
|
|
)
|
||
|
|
WHERE created_at IS NULL
|
||
|
|
OR created_at = ''
|
||
|
|
OR created_at LIKE '0001-%';
|
||
|
|
|
||
|
|
-- +goose Down
|
||
|
|
|
||
|
|
SELECT 1;
|