use docker

base image: library/ruby - Docker Hub

gem入りのイメージを作る

$ vim Gemfile

Gemfileを用意
すでにアプリがある場合は、Gemfileを持ってくる
ない場合は、railsだけでいいと思う

$ vim Dockerfile

FROM ruby

RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs

RUN mkdir /myapp

WORKDIR /myapp

ADD Gemfile /myapp/Gemfile
ADD Gemfile.lock /myapp/Gemfile.lock

RUN bundle install

$ docker build -t myruby .

myrubyイメージが作れらた

rails newしてみる

$ docker run –rm -v “$PWD”:/usr/src/app -w /usr/src/app myruby rails new app

ローカルディレクトリにrailsのファイルが作成される

rails server起動
$ docker run -p 3000:30000 -v “$PWD”:/usr/src/app -w /usr/src/app myruby rails server -b 0.0.0.0 -p 3000

画面にアクセスできる

var_dump(); exit; 的な

raise foobar.inspect

migration

カラムを追加する

Userテーブルにcontent:stringのカラムを追加する
$ rails generate migration AddColumnToUser content:string

作ったmigrationを削除する

$ rails destroy migration (class name)

migrationを適用する

$ rails db:migrate

rails command

controllerのgenerateとdestroy

$ rails generate controller StaticPages home help
$ rails destroy  controller StaticPages home help

modelのgenerateとdestroy

$ rails generate model User name:string email:string
$ rails destroy model User

database migrate

$ rails db:migrate
$ rails db:rollback

database reset
DBをdropしてmigrateする
db:reset は drop して db schema を使って作る

$ rails db:migrate:reset

db seed
db/seed.rbを動かす

$ rails db:seed

dbを変更しないrails console

rails console --sandbox

production用コマンド

rails server --environment production
rails db:migrate RAILS_ENV=production

byebug gem

debuggerをコード内に挿入
rails s の場所でデバッグができる
Ctrl + D で抜ける