#![allow(clippy::print_stdout, reason = "examples are meant to print")]
mod agent {
use turso_orm::prelude::*;
#[derive(Clone, Debug, PartialEq, DeriveEntityModel)]
#[turso(table_name = "agent")]
pub(crate) struct Model {
#[turso(primary_key)]
pub id: i32,
#[turso(unique)]
pub name: String,
pub system_prompt: Option<String>,
}
#[derive(Copy, Clone, Debug, DeriveRelation)]
pub(crate) enum Relation {}
impl ActiveModelBehavior for ActiveModel {}
}
use turso_orm::prelude::*;
#[tokio::main]
async fn main() -> Result<(), DbErr> {
let db = Database::connect(ConnectOptions::in_memory()).await?;
db.execute(
Schema::new()
.create_table_from_entity(agent::Entity)
.to_statement(),
)
.await?;
let planner = agent::ActiveModel {
name: Set("planner".into()),
system_prompt: Set(Some("You plan, step by step.".into())),
..Default::default()
}
.insert(&db)
.await?;
println!("inserted {planner:?}");
let found = agent::Entity::find()
.filter(agent::Column::Name.contains("plan"))
.one(&db)
.await?;
println!("found {found:?}");
Ok(())
}