Kintarou'sBlog

プログラミング学習中。学習内容のアウトプットや読書で学んだことなど随時投稿!

【Rails】railsコマンドまとめ

こんにちは😊Kintarouです。

現在エンジニア転職を目指してTECH CAMPにてプログラミング学習中です👨‍🎓
夢はフリーランスエンジニアになって働く人が働きやすいシステムを作ること!
と、愛する妻と海外移住すること🗽

プログラミングや読んでいる本のことなど、ブログに書いていきます!
twitter : https://twitter.com/ryosuke_angry


今日はrailsコマンドについてまとめます。
今回参考にさせて頂いたサイト様🙇‍♂️
Rails のコマンドラインツール - Railsガイド
Active Record マイグレーション - Railsガイド


■ 主なrailsコマンド

rails new

Railsアプリケーションを作成します。

% rails _6.0.0_ new new-app -d mysql
# rails (バージョン指定) new (アプリ名) (-d RDBMS)

rails server

Puma(Railsに標準添付されているWebサーバー)を起動します。
アプリケーションのディレクトリ上で行うことで、そのアプリケーションにhttp://localhost:3000で接続できます。

% rails server -e production -p 4000
# -eオプション => サーバーの環境を指定 (デフォルトはdevelopment ※開発環境)
# -pオプション => ポートの指定 (例は4000番ポート)
# rails s でも可

rails generate

テンプレートを用いた様々なものを作成します。

% rails generate controller posts index
# 例①) コントローラーの作成 (indexアクションを持つpostsコントローラーを作成)

% rails generate model post
# 例②) モデルの作成 (postモデルを作成)

# rails g でも可

※作成時の注意点
モデルは単数形、コントローラーは複数形で作成します。

rails destroy

rails generateで作成された内容を調べて取り消します。

% rails destroy controller posts
# rails generate controller posts で作成されたファイルを削除します。
# rails d でも可

rails console

コマンドラインRailsアプリケーションとやり取りすることができます。

% rails console --sandbox
# sandboxオプション => データを変更する事なくコードをテストできます。
# rails c でも可

rails routes

定義されている全ルーティングを見ることが出来ます。

rails about

RubyRubyGemsRailsRailsのサブコンポーネント(Active RecordやAction Packなど)のバージョン、Railsアプリのフォルダ名、現在のRailsの環境名とデータベースアダプター、スキーマのバージョンが表示されます。
開発に関して誰かに質問する時などに便利です。

rails notes

コードのコメントで、FIXME、OPTIMIZE、TODOで始まる行を探し出して表示します。
検索対象のファイルの拡張子は.builder、.rb、.rake、.yml、.yaml、.ruby、.cdd、.js、.erbです。

rails db コマンド

マイグレーションに関する操作を行います。
内容が多いので分けてまとめます。

rails db:create

データベースを作成作成します。
作成するデータベースの設定はconfig/database.ymlに記載があります。

% rails db:create

rails db:migrate

マイグレーションを実行します。

% rails db:migrate VERSION=20201006120000
# VERSIONオプション => 指定したバージョンまでのマイグレーションを行います。
# VERSIONオプションがない場合は未実行のマイグレーションを全て行います。

rails db:rollback

直前に行ったマイグレーションを差し戻します。

% rails db:rollback STEP=3
# STEPオプション => 最後に行った3つのマイグレーションが差し戻されます。

rails db:migrate:redo

ロールバックと再マイグレーションを一度に行います。

% rails db:migrate:redo STEP=3
# 最後に行った3つのマイグレーションを差し戻して再マイグレーション を行います。

rails db:setup

データベースの作成、スキーマの読み込み、シードデータを用いてデータベースの初期化を実行します。

rails db:reset

データベースをdropして再度設定します。rails db:drop db:setup と同義です。

rails db:migrate:status

マイグレーションの状態を表示します。
upは実行済み、downは未実行です。

以上、どなたかの参考になれば幸いです😊