Contributing to Backend
Migrations
Create new migrations
You can generate new migrations with the diesel cli:
diesel migration generate migration_name
This will create two empty sql files that look something like this:
- migrations/20160815133237_migration_name/up.sql
- migrations/20160815133237_migration_name/down.sql
up.sql
applies the migration and down.sql
reverts the migration.
Now we have to write the migrations in the respective up.sql
and down.sql
files.
Examples:
-- up.sql
CREATE TABLE seeds (
id SERIAL PRIMARY KEY,
);
-- down.sql
DROP TABLE seeds;
Apply migrations
diesel migration run
Redo migrations
This is especially useful for incremental improvements to the database. For example if you need to change one field in one of your tables, you can change it and redo the migration.
# Redo latest migration
diesel migration redo
# Or redo all migration
diesel migration redo --all