aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-client/src/database.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/atuin-client/src/database.rs')
-rw-r--r--crates/atuin-client/src/database.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/crates/atuin-client/src/database.rs b/crates/atuin-client/src/database.rs
index 5bdbb75c..b64ff4ce 100644
--- a/crates/atuin-client/src/database.rs
+++ b/crates/atuin-client/src/database.rs
@@ -130,8 +130,12 @@ impl Sqlite {
let path = path.as_ref();
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)?;
}
@@ -150,7 +154,6 @@ impl Sqlite {
.await?;
Self::setup_db(&pool).await?;
-
Ok(Self { pool })
}