Private
Public Access
1
0

kpcli: adds 'db' subcommand for interacting with the database

This commit is contained in:
2025-01-08 13:32:55 -08:00
parent 89f8d21ebb
commit 793faab721
10 changed files with 197 additions and 29 deletions

View File

@@ -1,6 +1,7 @@
use anyhow::Result;
use diesel::prelude::*;
use diesel::{prelude::*, sqlite::Sqlite};
use diesel::query_dsl::BelongingToDsl;
use std::path::{Path, PathBuf};
use crate::{
models::{
@@ -20,7 +21,11 @@ pub struct ChatDatabase {
impl ChatDatabase {
pub fn new_in_memory() -> Result<Self> {
let mut db = SqliteConnection::establish(":memory:")?;
Self::new(":memory:")
}
pub fn new(db_path: &str) -> Result<Self> {
let mut db = SqliteConnection::establish(db_path)?;
db.run_pending_migrations(MIGRATIONS)
.map_err(|e| anyhow::anyhow!("Error running migrations: {}", e))?;