summaryrefslogtreecommitdiffstats
path: root/src/remote/database.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/remote/database.rs')
-rw-r--r--src/remote/database.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/remote/database.rs b/src/remote/database.rs
new file mode 100644
index 00000000..4f386def
--- /dev/null
+++ b/src/remote/database.rs
@@ -0,0 +1,14 @@
+use diesel::pg::PgConnection;
+use diesel::prelude::*;
+
+use crate::settings::Settings;
+
+#[database("atuin")]
+pub struct AtuinDbConn(diesel::PgConnection);
+
+// TODO: connection pooling
+pub fn establish_connection(settings: &Settings) -> PgConnection {
+ let database_url = &settings.remote.db.url;
+ PgConnection::establish(database_url)
+ .unwrap_or_else(|_| panic!("Error connecting to {}", database_url))
+}