# Protobuf DBML
#### Database Markup Language (DBML) transpiler for Protocol Buffers.



## Output
Below is the example of transpiling DBML into protobuf.
```dbml
Table user {
id integer [pk]
username varchar
role varchar
}
```
```proto
//! Generated by protobuf-dbml 0.1.0-beta.2
syntax = "proto3";
message UserSchema {
int32 id = 1;
string username = 2;
string role = 3;
}
```
## How to use it?
```rust
use std::{error::Error, ffi::OsString};
use protobuf_dbml::*;
fn main() -> Result<(), Box<dyn Error>> {
transpile(transpiler::config::Config {
in_path: OsString::from("path/to/your/dbml.dbml"),
out_path: OsString::from("path/to/your/out.proto"),
..Default::default()
})
}
```
## License
Licensed under either of
- Apache License, Version 2.0
([LICENSE-APACHE](LICENSE-APACHE) or <http://www.apache.org/licenses/LICENSE-2.0>)
- MIT license
([LICENSE-MIT](LICENSE-MIT) or <http://opensource.org/licenses/MIT>)
## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.
Always welcome you to participate, contribute and together.