DATABASE_URL=<database_url>
Diesel CLI
Install Diesel CLI
To install diesel cli
run:
cargo install diesel_cli --no-default-features --features <feature>
Where <feature>
is a required database lib, e.g. postgres
or sqlite
. It is possible to install diesel
with several
features with --features postgres,sqlite
To install diesel cli
with postgres
feature you need to have libpq
installed on your machine.
On macos it may be installed with brew install libpq
.
Then you need to inform cargo
about libpq
location. It may be done either by providing environment variable:
RUSTFLAGS='-L /opt/homebrew/opt/libpq/lib'
Or with cargo
config file, located in ~/.cargo/config.toml
. Add following to this file:
[target.aarch64-apple-darwin]
rustflags = '-L /opt/homebrew/opt/libpq/lib -L /opt/homebrew/lib'
Commands
Initialize diesel
project:
diesel setup
This command will create migrations folder and generate diesel.toml
file.
To create new migration execute:
diesel migration generate <migration_name>
After this in migration folder will be created new migration with name, consisting of current timestamp and migration_name
.
In the folder of created migration there will be two files - up.sql
, which is used to run code of migration and down.sql
,
which is used to revert this migration.
To execute migration code in the database run:
diesel migration run
To revert executed migration:
diesel migration redo