Skip to content

v4.5.4

Compare
Choose a tag to compare
@zhuxiujia zhuxiujia released this 27 Nov 03:25
· 333 commits to master since this release

v4.5.4

  • add sync method for rbatis
    create table if not exists, add column if not exists

    use 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;
    }