aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-client/src/record
diff options
context:
space:
mode:
Diffstat (limited to 'crates/atuin-client/src/record')
-rw-r--r--crates/atuin-client/src/record/sqlite_store.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/crates/atuin-client/src/record/sqlite_store.rs b/crates/atuin-client/src/record/sqlite_store.rs
index 2937dbd7..c42476d4 100644
--- a/crates/atuin-client/src/record/sqlite_store.rs
+++ b/crates/atuin-client/src/record/sqlite_store.rs
@@ -17,6 +17,7 @@ use sqlx::{
use atuin_common::record::{
EncryptedData, Host, HostId, Record, RecordId, RecordIdx, RecordStatus,
};
+use atuin_common::utils;
use uuid::Uuid;
use super::encryption::PASETO_V4;
@@ -33,8 +34,12 @@ impl SqliteStore {
debug!("opening sqlite database at {:?}", path);
- let create = !path.exists();
- if create {
+ if utils::broken_symlink(path) {
+ eprintln!("Atuin: Sqlite db path ({path:?}) is a broken symlink. Unable to read or create replacement.");
+ std::process::exit(1);
+ }
+
+ if !path.exists() {
if let Some(dir) = path.parent() {
fs::create_dir_all(dir)?;
}