#カラムの追加
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
データベースには何も入っていない状態になります。