bin/local/upgrate-sql.sh; manually importing init.sql is no longer required.
1. Create the database
The script verifies that the database exists before running, so create it first.
2. Configure the connection
Copy the template on first use:bin/local/deploy.conf:
A custom config file can be used as well:
3. Run the incremental SQL
Preview the pending scripts, then run:- Pending:
sql/increment/<version>/**/*.sql, sorted by filename (timestamp); - Recorded: on success, a copy is written to the flat
sql/local/directory; - Idempotent: files already recorded in
sql/local/are skipped, so reruns are safe; - Failure keeps context: working files and logs are kept in
sql/local/.work/on failure.
Accounts and security
- Create a dedicated database account for the app; avoid root.
- Grant only the necessary privileges.
- Never commit the database password to version control.