LoginSignup
1
0

More than 3 years have passed since last update.

【Rails】テーブルにカラムを追加する際、キャメルケース以外で記載したらどうなるの?

Last updated at Posted at 2020-08-29

マイグレーションに新カラムを追加したい

●Railsに「devise」gemをインストールし、ログイン機能を作成。
●サインアップ時に、元々テーブルにはなかった「ニックネーム機能」(カラム)を作成・追加したい。

qiita.rb
# 定義
rails g migration Addカラム名To追加先テーブル名 追加するカラム名:型
# 例
rails g migration AddNicknameToUsers nickname:string

ターミナルで、上記コマンドを実行すると、マイグレーションに新しいカラムを追加する事ができます。

そこで以下の2つの疑問を感じました。

疑問1:Addカラム名To追加先テーブル名の「カラム名」と「テーブル名」を大文字にしなかったら(キャメルケースにしなかったら)どうなるの?

結果
マイグレーションファイルは作成されるもののSequelPro上のカラムはうまく生成されなかった。

【ターミナル上】

hogehoge % rails g migration AddnicknameTousers nickname:string
Running via Spring preloader in process 40102
invoke active_record
create db/migrate/20200829125120_addnickname_tousers.rb
hogehoge % rails db:migrate
== 20200829125120 AddnicknameTousers: migrating ===============================
== 20200829125120 AddnicknameTousers: migrated (0.0000s) ======================

20200829125120_addnickname_tousers.rb
class AddnicknameTousers < ActiveRecord::Migration[6.0]
  def change  #カラムの追加が出来ていない
  end
end

疑問2:Addカラム名To追加先テーブル名をスネークケースにしたらどうなるの?

結果
同じように作成できた。

【ターミナル上】
hogehoge % rails g migration Add_nickname_To_users nickname:string
Running via Spring preloader in process 40241
invoke active_record
create db/migrate/20200829125501_add_nickname_to_users.rb
hogehoge % rails db:migrate
== 20200829125501 AddNicknameToUsers: migrating ==============================
-- add_column(:users, :nickname, :string)
-> 0.0229s
== 20200829125501 AddNicknameToUsers: migrated (0.0230s) =====================

20200829125501_add_nickname_to_users.rb
class AddNicknameToUsers < ActiveRecord::Migration[6.0]
  def change
    add_column :users, :nickname, :string  #カラムの追加が出来た!
  end
end

以上です。
間違いなどありましたら、ご指摘いただけると嬉しいです。

1
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
1
0