Diesel Adapter for Casbin-RS (Casbin for Rust)
Diesel Adapter is the Diesel adapter for Casbin-RS. With this library, Casbin can load policy from Diesel supported database or save policy to it.
Based on Diesel, The current supported databases are:
Attention: postgres, mysql, sqlite are mutual exclusive which means that you can only activate one of them.
Notice
In order to unify the database table name in Casbin ecosystem, we decide to use casbin_rule instead of casbin_rules from version 0.9.0. If you are using old version diesel-adapter in your production environment, please use following command and update diesel-adapter version:
# MySQL & PostgreSQL & SQLite
casbin_rules RENAME TO casbin_rule;
Install
Add it to Cargo.toml
diesel-adapter = { version = "1.2.0", features = ["postgres"] }
tokio = { version = "1.1.1", features = ["macros", "rt-multi-thread"] }
Warning: tokio v1.0 or later is supported from diesel-adapter v0.9.0, we recommend that you upgrade the relevant components to ensure that they work properly. The last version that supports tokio v0.2 is diesel-adapter v0.8.3 , you can choose according to your needs.
Configure
Configure env
Rename sample.env to .env and put DATABASE_URL, POOL_SIZE inside
DATABASE_URL=postgres://casbin_rs:casbin_rs@localhost:5432/casbin
# DATABASE_URL=mysql://casbin_rs:casbin_rs@localhost:3306/casbin
# DATABASE_URL=casbin.db
POOL_SIZE=8
Or you can export DATABASE_URL, POOL_SIZE
Example
use *;
use DieselAdapter;
async