Skip to content

Commit

Permalink
Merge pull request #3660 from nulib/4315-csv-update-inserted-at
Browse files Browse the repository at this point in the history
Preserve inserted_at during CSV metadata update jobs
  • Loading branch information
mbklein authored Nov 15, 2023
2 parents 6b7e083 + 838157c commit 15205be
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
4 changes: 4 additions & 0 deletions app/lib/meadow/data/csv/bulk_import.ex
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ defmodule Meadow.Data.CSV.BulkImport do
rows |> Enum.into(SQL.stream(repo, sql))
# credo:disable-for-previous-line Credo.Check.Warning.UnusedEnumOperation

repo.query(
"UPDATE #{temp_table} SET inserted_at = works.inserted_at FROM works WHERE #{temp_table}.id = works.id"
)

repo.query(
"UPDATE works SET #{set_clause} FROM #{temp_table} WHERE works.id = #{temp_table}.id"
)
Expand Down
8 changes: 3 additions & 5 deletions app/test/meadow/data/csv/metadata_update_jobs_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,9 @@ defmodule Meadow.Data.CSV.MetadataUpdateJobsTest do
assert MetadataUpdateJobs.apply_job(job) ==
{:error, "Update Job cannot be applied: status is complete."}

with work <-
Enum.at(works, 31)
|> Map.get(:id)
|> Works.get_work()
|> Repo.preload(:metadata_update_jobs) do
with original <- Enum.at(works, 31),
work <- Works.get_work(original.id) |> Repo.preload(:metadata_update_jobs) do
assert work.inserted_at == original.inserted_at
assert work.published
assert work.visibility.id == "AUTHENTICATED"

Expand Down

0 comments on commit 15205be

Please sign in to comment.