# mysql-es
> A MySql implementation of the `PersistedEventRepository` trait in cqrs-es.
---
## Usage
Add to your Cargo.toml file:
```toml
[dependencies]
cqrs-es = "0.5.0"
mysql-es = "0.5.0"
```
Requires access to a MySql DB with existing tables. See:
- [Sample database configuration](db/init.sql)
- Use `docker-compose` to quickly setup [a local database](docker-compose.yml)
A simple configuration example:
```
let store = default_mysql_pool("mysql://my_user:my_pass@localhost:3306/my_db");
let cqrs = mysql_es::mysql_cqrs(pool, vec![])
```
Things that could be helpful:
- [User guide](https://doc.rust-cqrs.org) along with an introduction to CQRS and event sourcing.
- [Demo application](https://github.com/serverlesstechnology/cqrs/tree/main/demo) using the warp http server.
- [Change log](https://github.com/serverlesstechnology/cqrs/blob/main/docs/versions/change_log.md)
## Runtime and TLS configuration
This package defaults to expect the [Tokio runtime](https://crates.io/crates/tokio) and the
[Rustls library](https://crates.io/crates/rustls) for TLS.
If a different combination is desired the appropriate feature flag should be used:
- `runtime-tokio-native-tls`
- `runtime-tokio-rustls` (default)
- `runtime-async-std-native-tls`
- `runtime-async-std-rustls`
- `runtime-actix-native-tls`
- `runtime-actix-rustls`
[](https://crates.io/crates/mysql-es)
[](https://docs.rs/mysql-es)
