Rocket/examples/todo
Katrina Brock 1b5ba63fd0 Improve bootstrapping instructions in todo example. 2017-08-14 13:10:03 -07:00
..
db Add tests for 'todo' example. 2017-05-26 16:52:17 -07:00
migrations Add tests for 'todo' example. 2017-05-26 16:52:17 -07:00
src Impl 'try' for 'Outcome'. Document 'Cookies'. 2017-06-24 02:49:31 -07:00
static Remove config global state. Use Responder::respond_to. 2017-05-19 03:29:08 -07:00
Cargo.toml Update diesel example dependency to 0.14. 2017-07-06 02:04:00 -07: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 Make todo example bootstrapping more resilient. 2017-06-01 22:10:05 -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