#はじめに
dockerでRailsを立ち上げたら、Railsコマンド使えなかった。困った。
これは完全なる自分用の備忘録です。
##既存DBのテーブルにカラムを追加したい
docker-compose exec app rails g migration AddSomeColumnsToHoge
app
はdockerで立ち上がってるものです。app
とかweb
とかそんな名前で使われることが多い。(知らんけど)
AddSomeColumnsToHoge
のHoge
はカラムを追加したいテーブル名にしました。
これでdb/migrate
に 20200xxxxxx_add_some_columns_to_Hoge.rb
ファイルが作られます。
中身を見ると
class AddSomeColumnsToHygienists < ActiveRecord::Migration[5.2]
def change
end
end
こんな感じ。
ここに追加したいカラムを書いていく。
class AddSomeColumnsToHygienists < ActiveRecord::Migration[5.2]
def change
add_column :テーブル名, :カラム名, :型
end
end
こんな感じ。
追加したいカラムが複数ある時は下に追記していく。
##型
型 | 意味 |
---|---|
string | 文字列 |
text | 長い文字列 |
integer | 整数 |
float | 浮動小数 |
decimal | 精度の高い小数 |
datetime | 日時 |
timestamp | タイムスタンプ |
time | 時間 |
date | 日付 |
binary | バイナリデータ |
boolean | Boolean |
以上の型が指定できるみたい。
##マイグレーションを実行
追加したいカラムがかけたらマイグレーションを実行
docker-compose exec app rake db:migrate
db/schema.rb
でカラムを追加したテーブルを確認すると、カラムが追加されてます!やったね!
#参考文献
- https://qiita.com/pon-san/items/c54aee04e56e6bb26eff
- https://qiita.com/zaru/items/cde2c46b6126867a1a64
#最後に
dockerで立ち上げたらコマンドややこしいと個人的に感じたので備忘録。
今度は削除とか変更とかで躓きそう。
その時は追記します。
殴り書きなので、不備とかアドバイスとかいただけるとありがたいです。
書いておいてアレだけど、基本的には参考文献の記事を参考にすると解決します