# ch2rs
An auxiliary utility for generating Rust structures from ClickHouse DB schemas for the official [clickhouse-rs](https://github.com/ClickHouse/clickhouse-rs) crate.
## Usage
```sh
cargo install ch2rs
```
The crate enables `rustls-tls` [client](https://github.com/ClickHouse/clickhouse-rs/blob/main/Cargo.toml) feature by default, which allows to work with HTTPS URLs.
If `rustls-tls` does not work in your use case, you can install the crate with `native-tls` instead:
```sh
cargo install ch2rs --features native-tls
```
### Help
```sh
$ ch2rs --help
```
```
ch2rs 0.1.7
USAGE:
ch2rs [FLAGS] [OPTIONS]
FLAGS:
-D Generate `Deserialize` instances
-h, --help Prints help information
--owned Generate only owned types
-S Generate `Serialize` instances
-V, --version Prints version information
OPTIONS:
-B ... Add `#[serde(with = "serde_bytes")]` to the provided column
-d A database where the table is placed in [default: default]
-I ... Ignore a specified column
-O ... Override the type of the provided column
-p
--derive ... Add `#[derive()]` to the generated types
-T ... Override the type, e.g. 'Decimal(18, 9)=fixnum::FixedPoint'
-U ClickHouse server's URL [default: localhost:8123]
-u
ARGS:
The table's name
```
## Examples
See [snapshots](tests/snapshots).