LoginSignup
3
0

More than 3 years have passed since last update.

rails generate migrationをdockerで立ち上げたRailsで実行したい

Posted at

はじめに

dockerでRailsを立ち上げたら、Railsコマンド使えなかった。困った。
これは完全なる自分用の備忘録です。

既存DBのテーブルにカラムを追加したい

docker-compose exec app rails g migration AddSomeColumnsToHoge

appはdockerで立ち上がってるものです。appとかwebとかそんな名前で使われることが多い。(知らんけど)
AddSomeColumnsToHogeHogeはカラムを追加したいテーブル名にしました。

これでdb/migrate20200xxxxxx_add_some_columns_to_Hoge.rbファイルが作られます。
中身を見ると

20200xxxxxx_add_some_columns_to_Hoge.rb
class AddSomeColumnsToHygienists < ActiveRecord::Migration[5.2]
  def change
  end
end

こんな感じ。
ここに追加したいカラムを書いていく。

20200xxxxxx_add_some_columns_to_Hoge.rb
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でカラムを追加したテーブルを確認すると、カラムが追加されてます!やったね!

参考文献

最後に

dockerで立ち上げたらコマンドややこしいと個人的に感じたので備忘録。
今度は削除とか変更とかで躓きそう。
その時は追記します。
殴り書きなので、不備とかアドバイスとかいただけるとありがたいです。

書いておいてアレだけど、基本的には参考文献の記事を参考にすると解決します

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0