Migrations
This section is based on Granite's README
Granite doesn't have migrations built in. Instead, we leveraged the excellent work done by Juan Edi called micrate. We have integrated Micrate into the Maze CLI.
Migration scripts
Migration scripts are created in the db/migrations
directory. It's recommended that the files use a timestamp as a way to keep the order of execution.
A micrate script has two sections, Up and Down. Here is an example file:
Generators
Maze CLI provides the ability to generate migration scripts:
This will generate an empty micrate script with the timestamp set in the filename:
If you generate a model or scaffold, it will create a migration script that will create and drop the database table.
This will generate the migration script shown above.
Run the migrations
You can run the migrations using either:
You can rollback a migration using either:
Drop and Create a database
The maze db
commmand also allows you to create and drop the database itself:
Seed the database
Sometimes you need to pre-populate your tables with data. This is common if you need an beginning administrator account or populate lookup tables that rarely change.
You can do this by creating a db/seeds.cr
file
This example seeds.cr
file creates an admin user.
You can execute the seeds using:
Last updated