Railsほど大きいフレームワークを使いたくない時にSinatra + Sequelでやろうとしたら意外と躓くポイントがあったので記録として残しておきます。今回はModelを作ってmigrationする流れについて。
Sequelでモデルを作る時にgeneratorは用意されてないようなので自前で書きます。
ディレクトリ構造にもルールはありませんが、Railsに近いものにして置くと整理が楽でしょう。
titleとcontentを持つPostモデルを作るには以下のようなコードを使用します。Sequel.migration do
change do
create_table(:posts) do
primary_key :id
String :title
String :content
end
end
endclass Post < Sequel::Model
end
そして migrate する時は sequel -mを使用します。
bundle exec sequel -m db/migrations postgres://localhost:5432/my_app_development
できればデータベースの指定をdatabase.ymlから取ってきたかったけど、とりあえず動かしたかったのでそれはまた後で。