LoginSignup
20
22

More than 5 years have passed since last update.

Rails アプリケーション作成コマンド まとめ

Posted at

セットアップ

rails new

アプリケーションの新規作成。

rails new

オプションをつけて新規作成。

rails new -d mysql

bundle install

gemをインストール

bundle install

gemの追加

gem 'gem名'

*Gemfile.lockに変更を加えるときは、ファイル消去後に

bundle install

データベース、MVCファイルの作成

rake db:create

database.ymlというファイルの内容を基にデータベースを新規作成。

rake db:migrate

コントローラー

コントローラーの作成。

rails g controller articles

コントローラー名は基本複数。(用途に応じて単数)
under_score、CamelCasedのどちらでも可。
viewフォルダも一緒に生成。

コントローラーの削除。

rails destroy controller articles

関連ファイルもまとめて削除してくれる。

モデル

モデルの作成

モデルの作成。
マイグレーションファイルも一緒に生成。

rails g model article

モデルの削除。
関連ファイルもまとめて削除。

rails destroy model article

マイグレーションファイルの編集

changeメソッドで作成するカラムを指定。
ex.

class CreateArticles < ActiveRecord::Migration
  def change
    create_table :articles do |t|
      t.string :title
      t.text :content
      t.timestamps
    end
  end
end

rake db:migrate

マイグレーションファイルの実行

rake db:migrate

schemaファイル

rake db:migrateを実行するときに、schemaファイルの更新が行われる。

shema_migration

どのマイグレーションファイルまでが実行されたかを記録するデータベースの変更履歴。
マイグレーションファイルの実行時に自動生成。

rake db:migrateの仕組み

  1. schema_migrationを参照し、まだ実行されていないマイグレーションファイルがないかを調べる。
  2. 実行していないマイグレーションファイルが見つかれば、実行。

これによって、rake db:migrationを複数回実行しても、同じマイグレーションファイルが実行されることはない。

rake db:rollback

データベースの状態を最新のマイグレーションファイル実行前に戻す。

作成したテーブル及びschema_migrationの状態が戻る。

任意の状態まで戻したい

rake db:rollbackはあくまで1個前の状態に戻すだけ。
任意のmigrateまで戻すときは

  1. rake db:drop でデータベースを削除
  2. 要らないマイグレーションファイルの削除
  3. rake db:create、 rake db:migrateでやり直す
20
22
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
20
22