はじめに
Railsを普段書いているエンジニアです
hanamiというRubyで作られたWebフレームワークがあることを知りました
v2.0.0がリリースされたらしいので、一度触ってみたいと思います
環境
windows 10, wsl2
ubuntu 22.04
ruby 3.1.2
hanami 2.0.0
hanamiの準備
hanamiのインストール自体はRailsと同じようにhanamiコマンドが用意されています
gem install hanami
hanami new sample_app
プロジェクトの作成もhanami newで実行できます
webサーバーを立ち上げてみます
cd sample_app
hanami sever
open http://localhost:2300/
hello from hanamiと表示されました
postgreSQLとの接続
こちらを参考にインストールしてください
https://wiki.postgresql.org/wiki/Apt
gem "rom", "~> 5.3"
gem "rom-sql", "~> 3.6"
gem "pg"
こちらを追記してbundle install
をします
rails db:createのようなdbを作成するコマンドはhanamiでは提供されていないようなので、postgreSQLのコンソールからcreatedbコマンドを実行します
createdb sample_app_development
dbに接続するための設定を書いていきます
Hanami.app.register_provider :persistence, namespace: true do
prepare do
require "rom"
config = ROM::Configuration.new(:sql, target["settings"].database_url)
register "config", config
register "db", config.gateways[:default].connection
end
start do
config = target["persistence.config"]
config.auto_registration(
target.root.join("lib/sample_app/persistence"),
namespace: "SampleApp::Persistence"
)
register "rom", ROM.container(config)
end
end
database_urlを設定するためにhanamiのSettingsクラスに追加します
# frozen_string_literal: true
module SampleApp
class Settings < Hanami::Settings
# Define your app settings here, for example:
#
# setting :my_flag, default: false, constructor: Types::Params::Bool
setting :database_url, constructor: Types::String
end
end
.envに接続先を設定します
DATABASE_URL=postgres://postgres:postgres@localhost:5432/sample_app_development
ここまでで一旦開発環境の構築は完了しました!
次回は実際にAPIの作成をしていきます