2 releases
0.1.0-beta.3 | Jul 15, 2023 |
---|
#2343 in Encoding
17KB
389 lines
Protobuf DBML
Database Markup Language (DBML) transpiler for Protocol Buffers.
Output
Below is the example of transpiling DBML into protobuf.
Table user {
id integer [pk]
username varchar
role varchar
}
//! 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?
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 or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (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.
Dependencies
~3MB
~61K SLoC