カラムの追加
rails g migration add_追加したいカラム名_to_追加先のテーブル名 でコマンドを実行します。
例えば posts テーブルに user_id のカラムを追加したい場合は以下のようになります。
$ rails g migration add_user_id_to_posts
これによって作成されたマイグレーションファイル(db/migrate)の中身を変更します。
changeメソッドが既に定義されているのでその中に add_column :追加先のテーブル名, :追加するカラム名, :そのデータ型 を書いていきます。
def change
add_column :posts, :user_id, :integer
end
その後 rails db:migrate を実行しましょう。
実行することで初めてテーブルに変更が行われます。
$ rails db:migrate
これでカラムを追加することに成功しました。
カラムの削除
rails g migration remove_削除したいカラム名_to_カラムを削除するテーブル名 でコマンドを実行します。
例えば posts テーブルに user_id のカラムを削除したい場合は以下のようになります。
$ rails g migration remove_user_id_to_posts
カラムの追加と同様にマイグレーションファイルの中身を変更したあとに rails db:migrate を実行します。
def change
remove_column :posts, :user_id, :integer
end
$ rails db:migrate
これでカラムを削除することに成功しました。
カラムの変更後に、開発の初期段階などで一度データベースを空にしたい場合は以下のコマンドを実行します。
$ rake db:migrate:reset
データベースには何も入っていない状態になります。