KEIS BLOGは株式会社ケイズ・ソフトウェアが運営しています。

KEIS BLOG

Ruby on Rails -migration-

LINEで送る
Pocket

最近、アニメで「アカギ」を観たんですが良いところで終わってしまい、やりきれない思いでいっぱいです…
漫画は続いているので読もうかと思います。

ちなみに、麻雀のルールはわからないのですが面白いです。

アカギではないのですが、カイジを題材にした本が面白かったのでおススメです。

anai001
(写真は2冊しか写ってないですがもう一冊あります。)

さて、今回はRailsのmigrationについて。

## カラムの追加と削除

# コマンド

rails generate migration クラス名 カラム名:データ型	

クラス名は「AddXXXToYYY」または「RemoveXXXFromYYY」とするのが慣例のようです。
(「YYY」にはテーブル名を、「XXX」には追加又は削除するカラム名を指定)

上記のコマンドを実行すると、下記のスクリプトファイルが作成されます。

# 追加の場合

class AddXXXToYYY < ActiveRecord::Migration
  def change
    add_column :table_name, :column_name, :string
  end
end

# 削除の場合

class RemoveXXXFromYYY < ActiveRecord::Migration
  def up
    remove_column :table_name, :column_name
      end

  def down
    add_column :table_name, :column_name, :string
  end
end

追加の場合はchangeメソッドが、削除の場合はup/downメソッドが呼ばれていますが、
changeメソッドはrollbackした時に勝手に反転して実行してくれます。

ただ、カラムを削除する場合は反転実行してもカラムの情報がないので
downメソッドにrollback時の処理を書く必要があります。

次回は、テーブルの作成などについて書きたいと思います。

【関連記事】
3分で構築するRuby on Rails開発環境
続・3分で構築するRuby on Rails開発環境~MySQL設定編~
フラットデザインとレスポンシブデザイン
「Cloudera World Tokyo 2014」に行ってきました
Code Avengers(コードアベンジャーズ)
paizaでスキルチェック ~オンラインハッカソンに挑戦~
そしてスーパープログラマーへ
Hackmeに挑戦!
Railsで作るAPI
Ruby on Rails -turnout-

LINEで送る
Pocket