no double persist snapshot
parent
700b2a22cc
commit
4ad0b7d2ff
|
|
@ -167,7 +167,9 @@ impl File {
|
||||||
|
|
||||||
pub fn stage_persisted(&self) -> Result<(), String> {
|
pub fn stage_persisted(&self) -> Result<(), String> {
|
||||||
let persisted_as_snapshot = self.events()?.snapshot()?;
|
let persisted_as_snapshot = self.events()?.snapshot()?;
|
||||||
self.append(Delta::snapshot(persisted_as_snapshot.clone()))?;
|
if persisted_as_snapshot != self.events()?.last_snapshot() {
|
||||||
|
self.append(Delta::snapshot(persisted_as_snapshot.clone()))?;
|
||||||
|
}
|
||||||
let plaintext = serde_yaml::to_string(&persisted_as_snapshot).unwrap();
|
let plaintext = serde_yaml::to_string(&persisted_as_snapshot).unwrap();
|
||||||
let mut f = std::fs::File::create(&self.file).expect("failed to open file for writing");
|
let mut f = std::fs::File::create(&self.file).expect("failed to open file for writing");
|
||||||
writeln!(f, "{}", plaintext).expect("failed to write");
|
writeln!(f, "{}", plaintext).expect("failed to write");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue