SinatraでHello Worldするまでの続きとして. SQLiteの場合.
Gemfileに以下を追加してbundle installする.
gem 'sinatra-activerecord'
gem 'sqlite3'
DB接続部分を書く. とりあえずapp.rbに書いた.
require 'sinatra'
require 'active_record'
ActiveRecord::Base.establish_connection(
adapter: 'sqlite3',
database: 'development.sqlite3'
)
# 以下省略
Rakefile書く.
require 'sinatra/activerecord/rake'
require './app'
これでrake db:migrate
とか出来るようになった. 今回はとりあえずusersテーブル作る. rake -T
すれば可能なコマンド一覧が見れる.
bundle exec rake db:create_migration NAME=create_users
するとdb/migrateの中にmigrationファイルが作られるので編集する.
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :name
t.timestamps
end
end
end
終わったらDBに反映.
bundle exec rake db:migrate
app.rbで使ってみる.
# 上は省略
class User < ActiveRecord::Base
end
get '/' do
"Hello #{User.count} users!"
end
あとは
bundle exec rackup
して, http://localhost:9292
にアクセスして確認.