v4.5.4
v4.5.4
-
add sync method for rbatis
create table if not exists, add column if not existsuse rbatis::RBatis; use rbatis::table_sync::{SqliteTableMapper}; let rb = RBatis::new(); let conn = rb.acquire().await; pub async fn do_sync_table(rb: &RBatis){ let map = rbs::to_value!{ "id":"INT", "name":"TEXT", }; let _ = RBatis::sync(&rb,&SqliteTableMapper{},&map,"user").await; }
use rbatis::RBatis; use rbatis::table_sync::{SqliteTableMapper}; #[derive(Clone, Debug, serde::Serialize, serde::Deserialize)] pub struct User{ pub id:String, pub name: Option<String> } let rb = RBatis::new(); let conn = rb.acquire().await; pub async fn do_sync_table(rb: &RBatis){ let table = User{id: "".to_string(), name: Some("".to_string())}; let _ = RBatis::sync(&rb,&SqliteTableMapper{},&table,"user").await; }
use rbatis::RBatis; use rbatis::table_sync::{MysqlTableMapper}; #[derive(Clone, Debug, serde::Serialize, serde::Deserialize)] pub struct User{ pub id:String, pub name: Option<String> } let rb = RBatis::new(); let conn = rb.acquire().await; pub async fn do_sync_table_mysql(rb: &RBatis){ let table = User{id: "".to_string(), name: Some("VARCHAR(50)".to_string())}; let _ = RBatis::sync(&rb,&MysqlTableMapper{},&table,"user").await; }