日々の記録。

プログラミングのメモや感じた事などを記録。

rails モデルの属性名を変更する

Userクラスのpasswordをpassword_digestに変更したい

修正前のUserクラス

rails g scaffold user name:string password:string

このpasswordをpassword_digestに変更する

修正方法

1. 修正用のmigrationを生成する

rails g migration RenamePasswordToUser password_digest:string

2. 生成したファイルの修正

class RenamePasswordToUser < ActiveRecord::Migration
  def up
    # 旧:password
    # 新 : password_digest
    rename_column :users, :password, :password_digest
    
  end 

  def down
    # 旧:password_digest
    # 新 : password
    rename_column :users, :password_digest, :password
  end 
end

3. dbをmigrateする

rake db:migrate

参考にしたページ

「【Rails3】カラム名(列名)を変更したい時、rename_columnを使った」

「RailsでDBのカラム名を変更する」