2023-01-18 19:23:29 +08:00

43 lines
1.0 KiB
Rust

use anyhow::Result;
use sea_orm::{ConnectionTrait, Database, EntityTrait, IntoActiveModel, Schema};
mod entity;
use entity::*;
#[tokio::main]
async fn main() -> Result<()> {
let db = Database::connect("sqlite::memory:").await.unwrap();
let builder = db.get_database_backend();
let schema = Schema::new(builder);
let stmt = schema.create_table_from_entity(Entity);
db.execute(builder.build(&stmt)).await?;
let model = Model {
id: 100,
name: "Hello".to_owned(),
};
let res = Entity::insert(model.clone().into_active_model())
.exec(&db)
.await?;
assert_eq!(Entity::find().one(&db).await?, Some(model.clone()));
assert_eq!(res.last_insert_id, model.id);
let model = Model {
id: -10,
name: "World".to_owned(),
};
let res = Entity::insert(model.clone().into_active_model())
.exec(&db)
.await?;
assert_eq!(Entity::find().one(&db).await?, Some(model.clone()));
assert_eq!(res.last_insert_id, model.id);
Ok(())
}