環境
Rails5.2
はじめに
マイグレーションファイルを作成するコマンドを実行するとき、マイグレーション名は、どのような名前のつけ方にするのがベストプラクティスなのか悩んだため、色々と考察してみました。
キャメルケース
コマンドで実行するとき、マイグレーション名をキャメルケースで指定しました。
rails g migration addColumnUser
マイグレーションファイル名は、スネークケースになります。
クラス名はパスカルケースになります。
class AddColumnUser < ActiveRecord::Migration[5.2]
def change
end
end
パスカルケース
コマンドで実行するとき、マイグレーション名をパスカルケースで指定しました。
rails g migration AddColumnUser
マイグレーションファイル名は、スネークケースになります。
クラス名はパスカルケースになります。
class AddColumnUser < ActiveRecord::Migration[5.2]
def change
end
end
スネークケース
コマンドで実行するとき、マイグレーション名をスネークケースで指定しました。
rails g migration add_column_user
マイグレーションファイル名は、スネークケースになります。
クラス名はパスカルケースになります。
class AddColumnUser < ActiveRecord::Migration[5.2]
def change
end
end
スネークケース+パスカルケース
コマンドで実行するとき、マイグレーション名をスネークケース+パスカルケースで指定しました。
rails g migration Add_Column_User
マイグレーションファイル名は、スネークケースになります。
クラス名はパスカルケースになります。
class AddColumnUser < ActiveRecord::Migration[5.2]
def change
end
end
結論
コマンドで指定するマイグレーション名は、どのような規約であっても、マイグレーションファイル名は、必ずスネークケースになり、クラス名は、必ずパスカルケースになります。つまり、コマンドを実行するときのマイグレーション名の命名規約にはこだわる必要はありませんでしたということです。