Fix the dump date-import of the dumpv4

This commit is contained in:
Tamo 2022-12-05 18:08:35 +01:00
parent 776af129bf
commit b0cf431614
No known key found for this signature in database
GPG Key ID: 20CD8020AFA88D69
2 changed files with 15 additions and 23 deletions

View File

@ -167,17 +167,16 @@ impl V4IndexReader {
let task: Task = serde_json::from_str(&line?)?; let task: Task = serde_json::from_str(&line?)?;
if task.index_uid.to_string() == name { if task.index_uid.to_string() == name {
// The first task to match our index_uid that succeeded (ie. processed_at returns Some)
// is our `last_updated_at`.
if updated_at.is_none() { if updated_at.is_none() {
updated_at = task.updated_at() updated_at = task.processed_at()
}
if created_at.is_none() {
created_at = task.created_at()
} }
// Once we reach the `creation_task_id` we can stop iterating on the task queue and
// this task represent our `created_at`.
if task.id as usize == index_metadata.creation_task_id { if task.id as usize == index_metadata.creation_task_id {
created_at = task.processed_at(); created_at = task.created_at();
break; break;
} }
} }
@ -290,12 +289,12 @@ pub(crate) mod test {
assert!(indexes.is_empty()); assert!(indexes.is_empty());
// products // products
insta::assert_json_snapshot!(products.metadata(), { ".createdAt" => "[now]", ".updatedAt" => "[now]" }, @r###" insta::assert_json_snapshot!(products.metadata(), @r###"
{ {
"uid": "products", "uid": "products",
"primaryKey": "sku", "primaryKey": "sku",
"createdAt": "[now]", "createdAt": "2022-10-06T12:53:39.360187055Z",
"updatedAt": "[now]" "updatedAt": "2022-10-06T12:53:40.603035979Z"
} }
"###); "###);
@ -305,12 +304,12 @@ pub(crate) mod test {
meili_snap::snapshot_hash!(format!("{:#?}", documents), @"b01c8371aea4c7171af0d4d846a2bdca"); meili_snap::snapshot_hash!(format!("{:#?}", documents), @"b01c8371aea4c7171af0d4d846a2bdca");
// movies // movies
insta::assert_json_snapshot!(movies.metadata(), { ".createdAt" => "[now]", ".updatedAt" => "[now]" }, @r###" insta::assert_json_snapshot!(movies.metadata(), @r###"
{ {
"uid": "movies", "uid": "movies",
"primaryKey": "id", "primaryKey": "id",
"createdAt": "[now]", "createdAt": "2022-10-06T12:53:38.710611568Z",
"updatedAt": "[now]" "updatedAt": "2022-10-06T12:53:49.785862546Z"
} }
"###); "###);
@ -320,12 +319,12 @@ pub(crate) mod test {
meili_snap::snapshot_hash!(format!("{:#?}", documents), @"786022a66ecb992c8a2a60fee070a5ab"); meili_snap::snapshot_hash!(format!("{:#?}", documents), @"786022a66ecb992c8a2a60fee070a5ab");
// spells // spells
insta::assert_json_snapshot!(spells.metadata(), { ".createdAt" => "[now]", ".updatedAt" => "[now]" }, @r###" insta::assert_json_snapshot!(spells.metadata(), @r###"
{ {
"uid": "dnd_spells", "uid": "dnd_spells",
"primaryKey": "index", "primaryKey": "index",
"createdAt": "[now]", "createdAt": "2022-10-06T12:53:40.831649057Z",
"updatedAt": "[now]" "updatedAt": "2022-10-06T12:53:41.116036186Z"
} }
"###); "###);

View File

@ -111,13 +111,6 @@ impl Task {
} }
} }
pub fn updated_at(&self) -> Option<OffsetDateTime> {
match self.events.last() {
Some(TaskEvent::Created(ts)) => Some(*ts),
_ => None,
}
}
pub fn created_at(&self) -> Option<OffsetDateTime> { pub fn created_at(&self) -> Option<OffsetDateTime> {
match &self.content { match &self.content {
TaskContent::IndexCreation { primary_key: _ } => match self.events.first() { TaskContent::IndexCreation { primary_key: _ } => match self.events.first() {