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]

カラム名の変更完了です。

鹿児島県の出水市という所に住んでいまして、インターネット周辺で色々活動して行きたいと思ってるところです。 Webサイト作ったり、サーバ設定したり、プログラムしたりしている、釣りと木工好きなMacユーザです。 今はデータサイエンスに興味を持って競馬AI予想を頑張ってます。

1件のコメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


The reCAPTCHA verification period has expired. Please reload the page.

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください