To use nomad, you’ll have to supply some basic configuration, in
[nomad] engine = sqla url = sqlite:///test.db
See Acquiring URLs about ways you can use to specify url of database.
Save this in a file named nomad.ini. The directory, containing this file, will
be your nomad environment. You can store file under any other name, but then
you’ll have to supply it as an option to nomad calls (like
nomad -c myconf.ini).
Then initialize your database to be used with nomad:
$ nomad init
This will create a table in your database with 2 fields -
date. This table is used then for tracking which migrations have been
applied already to this database.
And then you can create a migration:
$ nomad create 2012-09-21-first
This will create directory with name
2012-09-21-first and two files inside:
up.sql. Name of first file matters - it contains
information about dependencies of a migration (which can be passed as
create command). Name of second file doesn’t matter - any
*.j2, or executable files (file with executable bit set) will be
*.sql files are applied to database,
*.j2 files are applied to
the database after being passed through the
jinja2 template system, and
executable files (which can be your script to do something before or after
migration, or even migration itself) are just executed.
You can then list or apply migrations - just read help about them (
nomad help apply). Also, reading Basic nomad tests can be helpful as