Models: Database Configuration

Environment variables

Before starting your server, you need to configure the database link in .env* files.

Open this file for each environment and update DATABASE_URL for your database.

Setup database variable for the development environment:

# .env.development

Setup database variable for the test environment:

# .env.test

For jdbc urls you can’t set username and password to the left of @ you have to set them as parameters in the url:


Setup your database

After your database variables setup is done you need to create the database and run the migrations before being able to launch a development server.

In your terminal, enter:

$ bundle exec hanami db prepare

To setup your test environment database, enter:

$ HANAMI_ENV=test bundle exec hanami db prepare

Sequel plugins

Hanami models use ROM as a low-level backend. This means that you can easily use any Sequel plugins in your app. For this you need to define a gateway block in your model configuration, add the extension by calling extension on gateway.connection and pass the extension name in:

# config/environment.rb

Hanami.configure do
  model do
    gateway do |g|