rbatis

Rust Compile Time ORM robustness,async, pure Rust Dynamic SQL

APACHE-2.0 License

Downloads
1.1M
Stars
2.3K
Committers
25

Bot releases are hidden (Show)

rbatis - v2.0.27

Published by zhuxiujia about 3 years ago

v2.0.27

  • fix py_sql/html_sql where element not insert keyword problem
rbatis - v2.0.26

Published by zhuxiujia about 3 years ago

v2.0.26

  • rbatis_sql removes unnecessary whitespace
rbatis - v2.0.25

Published by zhuxiujia about 3 years ago

v2.0.25

  • up async_std to v1.10.0
  • Wrapper add dml: String to Control logic to logic plug-in policies(enable/disable)
  • crud.rs remove all about non fetch_* method DeserializeOwned binding(include update*,remove*,save*),so you can use reference in parameter and don't need clone() data, keep Original object lifetime alive
    for example:
let r = rb.save_batch(&vec![&activity, &activity2], &[]).await;
  • update* method not require &mut Table
  • remove version lock plugin.
rbatis - v2.0.24

Published by zhuxiujia about 3 years ago

v2.0.24

  • fix #131 for rbatis-macro-driver () add trim_start() for column
rbatis - v2.0.23

Published by zhuxiujia about 3 years ago

v2.0.23

  • fix Table format problem
rbatis - v2.0.22

Published by zhuxiujia about 3 years ago

v2.0.22

  • fix Macro recognizes exec or fetch use return type(is return DBExecResult?)
  • fix Macro Identify the todo! () macro, and delete it
rbatis - v2.0.21

Published by zhuxiujia about 3 years ago

v2.0.21

  • fix py_xml/html_sql parse
rbatis - v2.0.20

Published by zhuxiujia about 3 years ago

v2.0.20

  • support for Version 1.54.0 later
rbatis - v2.0.18

Published by zhuxiujia over 3 years ago

v2.0.18

  • rbatis-core use new DBTx, it use raw sql BEGIN COMMIT ROLLBACK replace sqlx's method
  • DBTx commit or rollback will be not drop struct! so You can reuse the conn
  • DBTx add method get_conn() will return DBPoolConnection
  • fix #121
rbatis - v2.0.17

Published by zhuxiujia over 3 years ago

v2.0.17

  • DBTx add is_done() method for #119
rbatis - v2.0.16

Published by zhuxiujia over 3 years ago

v2.0.16

  • fix #117 notice: defer and defer_async Require the closure to satisfy send
  • save* method Allows the default database column not to be inserted fix and support #110 #114
    for example:
 let r = rb.save(&activity,&[]).await;
 let r = rb.save(&activity,&[Skip::Value(serde_json::Value::Null)]).await;
 let r = rb.save(&activity,&[Skip::value(2) ]).await;
 let r = rb.save(&activity,&[Skip::Column("delete_flag")]).await;
  • Rbatis struct add encoder() method allows custom encoder.
  • Add DynTableColumn struct, can custom insert,update column for example:
   pub struct MyColumns{}
   impl  TableColumnProvider for MyColumns{
        fn table_name() -> String{"biz_activity".to_string()}
        fn table_columns() -> String{"id".to_string()}
 }

  let r = rb.fetch_list_by_wrapper::<DynTableColumn<BizActivity,MyColumns>>(&w).await.unwrap();
  // 
rbatis - v2.0.13

Published by zhuxiujia over 3 years ago

v2.0.13

  • fetch_list will return empty vec if columns param is empty
rbatis - v2.0.12

Published by zhuxiujia over 3 years ago

v2.0.12

  • fix does not affect String+&String
rbatis - v2.0.11

Published by zhuxiujia over 3 years ago

v2.0.11

  • fix py_sql/html_sql ${} string value convert
rbatis - v2.0.10

Published by zhuxiujia over 3 years ago

v2.0.10

  • Transaction add defer_async method
    for example:
         rb.acquire_begin().await?.defer_async(|tx| async {
                 tx.rollback().await;
            });
  • fix update_by_wrapper(), use skips:&[&str] param to skip column and null value
rbatis - v2.0.9

Published by zhuxiujia over 3 years ago

v2.0.9

  • fix html_sql <bind> element
  • reduce html_sql replace method to safe method.
  • sql replace use macro to reduce gen code
rbatis - v2.0.8

Published by zhuxiujia over 3 years ago

v2.0.8

  • Removes the warning generated by the procedure macro
  • add as_executor() method
rbatis - v2.0.7

Published by zhuxiujia over 3 years ago

v2.0.7

  • fix #107
rbatis - v2.0.6

Published by zhuxiujia over 3 years ago

v2.0.6

  • html_sql allow use <include> have id tag elements
    for example:

example_include.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "https://github.com/rbatis/rbatis_sql/raw/main/mybatis-3-mapper.dtd">
<mapper>
    <sql id="page_sql"> select * from include </sql>
</mapper>

example.html

   <sql id="select_self">(id,name,age,tag)</sql>
    <select id="test_include">
        <include refid="select_self"></include>
        <include refid="page_sql?file=example/example_include.html"></include>
    </select>
  • html_sql/py_sql fix allow some compare self action, for example: null <= arg ,null >= arg....
  • html_sql/py_sql fix Base64 encoding exception A ‘+’ sign exception appears
rbatis - v2.0.5

Published by zhuxiujia over 3 years ago

v2.0.5

  • fix tx commit rollback not commit. #102
  • Improve SQL concatenation performance of Wrapper by reducing string clones