Rocket/examples/todo
Sergio Benitez 5c9aa8e2c9 Fix 'diesel' version in state guide and todo example. 2018-02-25 20:01:25 -08:00
..
db Add tests for 'todo' example. 2017-05-26 16:52:17 -07:00
migrations Update docs and examples for diesel 1.0.0-rc1. 2018-01-03 01:46:22 -08:00
src Use 'diesel::r2d2' in state guide and todo example. 2018-02-25 19:58:13 -08:00
static Remove config global state. Use Responder::respond_to. 2017-05-19 03:29:08 -07:00
Cargo.toml Fix 'diesel' version in state guide and todo example. 2018-02-25 20:01:25 -08:00
README.md Improve bootstrapping instructions in todo example. 2017-08-14 13:10:03 -07:00
Rocket.toml Add the [global] psuedo-environment for global configuration. 2016-10-31 17:00:32 +01:00
bootstrap.sh Properly handle paths with spaces in shell scripts. 2017-09-25 20:32:43 -07:00

README.md

Rocket Todo Example

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:

  • OS X: brew install sqlite
  • Debian/Ubuntu: apt-get install libsqlite3-dev
  • Arch: pacman -S sqlite

Running

Before running, building, or testing this example, you'll need to ensure the following:

  1. A SQLite database file with the proper schema is present.

    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.

    You can also install the Diesel CLI and run the migrations manually with the following commands:

    # 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
    
  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:

    • DATABASE_URL=db/db.sql cargo build
    • DATABASE_URL=db/db.sql cargo test
    • DATABASE_URL=db/db.sql cargo run