Rocket/examples/todo/README.md

42 lines
1.4 KiB
Markdown
Raw Normal View History

2016-12-27 08:38:21 +00:00
# Rocket Todo Example
2016-12-27 08:38:21 +00:00
This example makes use of a SQLite database via `diesel` to store todo tasks. As
a result, you'll need to have `sqlite3` and its headers installed:
2016-08-02 03:01:47 +00:00
2016-12-27 08:38:21 +00:00
* **OS X:** `brew install sqlite`
* **Debian/Ubuntu:** `apt-get install libsqlite3-dev`
* **Arch:** `pacman -S sqlite`
2016-08-02 03:01:47 +00:00
2017-02-02 23:02:32 +00:00
## Running
2016-12-27 08:38:21 +00:00
2017-02-02 23:02:32 +00:00
**Before running, building, or testing this example, you'll need to ensure the
following:**
2016-12-27 08:38:21 +00:00
2017-02-02 23:02:32 +00:00
1. A SQLite database file with the proper schema is present.
2016-08-02 03:01:47 +00:00
On a Unix machine or with bash installed, you can simply run the
`boostrap.sh` script to create the database. The script installs the
`diesel_cli` tools if they're not already installed and runs the
migrations. The script will output a `DATABASE_URL` variable.
2016-08-02 03:01:47 +00:00
You can also install the Diesel CLI and run the migrations manually with
the following commands:
2017-02-02 23:02:32 +00:00
```
# install Diesel CLI tools
cargo install diesel_cli --no-default-features --features sqlite
# create db/db.sql
DATABASE_URL=db/db.sql diesel migration run
```
2017-02-02 23:02:32 +00:00
2. A `DATABASE_URL` environment variable is set that points to the SQLite
database file.
Use the `DATABASE_URL` variable emitted from the `bootstrap.sh` script, or
enter it manually, as follows:
2017-02-02 23:02:32 +00:00
* `DATABASE_URL=db/db.sql cargo build`
* `DATABASE_URL=db/db.sql cargo test`
* `DATABASE_URL=db/db.sql cargo run`