Railslでカラム名(列名)の追加と削除と変更
カラム名(列名)の追加と削除
マイグレーション機能を利用します。
例)details というテーブルに image というカラムを追加(削除)します。
追加
[shell]
$ rails g migration add_image_to_details image:string
[/shell]
削除
[shell]
$ rails g migration remove_image_to_details image
[/shell]
追加または削除が終わったら反映します。
[shell]
$ rake db:migrate
[/shell]
カラム名(列名)の変更
テーブルの列名を変更したくなった時もマイグレーション機能で変更するのが良いみたいです。
rename_column を使って、下記コマンドで作成します。
例)fishing というテーブルの place というカラム名を minato に変更します。
[shell]
$ rails g migration rename_place_to_fishing minato:string
[/shell]
db/migrate/XXXXXXXXXXXXXX_rename_place_to_fishing.rbというファイルが作成されるので下記のように修正します。
[ruby]
class RenamePlaceToFishing < ActiveRecord::Migration
def up
+ rename_column :fishings, :place, :minato
end
def down
+ rename_column :fishings, :minato, :place
end
end
[/ruby]
rename_column :テーブル名, :今のカラム名, :新しいカラム名
という具合になってます。
【指定テーブル】の【今のカラム名】から【新しいカラム名】に変更します。
修正が終わったら修正を反映します。
[shell]
$ rake db:migrate
[/shell]
カラム名の変更完了です。
1件のコメント