1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Railsのcolumn名の変更

Last updated at Posted at 2023-01-04

Railsのカラム名を間違ってmigrateしてしまったので修正方法を書いておきます。
自分の理解度を高めるためのアウトプットです。

//誤りの記述
rails g model User nam:string age:integer
カラム名をnameにしたかったがnamにしていた。

db:migrateの前に修正すればよかったが、気づかずmigrateしてしまった。

なので以下の処理を実施
1.migrationファイルを作成
$ rails generate migration rename_[変更前のカラム名]column_to[モデル名(複数形)]

2.migrationファイルを編集
生成されたファイルにchangeメソッドを追加し、そこに変更したいカラム名を記述する。
rename_column :テーブル名, :変更前のカラム名, :変更後のカラム名

class RenameNamColumnToUsers < ActiveRecord::Migration[7.0]
def change
rename_column :users, :nam, :name
end
end

3.DBに反映
rails db:migrate

4.DBに反映されているか確認
$ rails dbconsole
$ .schema users(テーブル名)

("id" integer NOT NULL PRIMARY KEY, "name" varchar DEFAULT NULL, "age" integer DEFAULT NULL, "created_at" datetime(6) NOT NULL, "updated_at" datetime(6) NOT NULL);

nameに変更されていたので完了。

参考にした記事
https://qiita.com/libertyu/items/93acd8733e34b1d0a63c

model名も間違って作成したので以下の記事を参考に修正しました。
https://qiita.com/naitya0412/items/b6f6ef89f7b60309d5b1

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?