derive-sql 0.11.1

Structure the interaction with SQL databases - currently SQLite and MySQL via trait and a procedural macro
Documentation
# derive-sql

This project define an approach to interact with SQL database in Rust [currently only SQLite supported]. 

A trait `Sqlable` is defined in the crate with the following functions to interact with the database:
- `count` to provide a count of the number of items in the table.
- `select` to return an array of the items in the table.
- `insert` to insert a new item in the table.
- `update` to update an existing item(s) with the values of the provided item.
- `delete` to delete items in the table.
- `delete_table` to drop the table.

A procedural macro `DeriveSqlite` is available under the optional feature `sqlite`. The procedural macro can 
be applied to a struct with named fields to implement the `Sqlable` trait.

# How to Use
The procedural macro is currently tied to `rusqlite` that needs to be added to your `Cargo.toml`. If not added, your
project will not compile.

To use this project procedural macro, add the following in your `Cargo.toml`:

```
[dependencies]
derive-sql = { version = "0.5", features = [ 'sqlite' ] }
```

And annotate your struct as follows:
```
use derive_sql::{Sqlable, DeriveSqlite};

#[derive(DeriveSqlite)]
struct Person {
  id: 32,
  name: String,
}
```

And use the generated functions:

* Review the documentation pages;
* Generate documentation for the generated functions using `cargo doc --open`

Checkout the example tests using in-memory SQLite database in the `extras/derive-sql-sqlite/examples` folder:
```
cargo run --example simple --features sqlite
cargo run --example attributes --features sqlite
```

Checkout the example tests using a MySQL database in the `extras/derive-sql-mysql/examples` folder:
```
cargo run --example simple_mysql --features mysql
cargo run --example attributes_mysql --features mysql
```



# License
This project is licensed under [MIT license](LICENSE).