LoginSignup
0
0

More than 1 year has passed since last update.

外部キー制約のついたカラムを削除する方法

Posted at

ここではgenreテーブルからmovie_idカラムを削除します。

まず $ rails generate migration remove_カラム名_from_テーブル名 を実行して、外部キー制約のかかったカラムを削除するためのマイグレーションファイルを作成します。

# rails g migration remove_movie_from_genre movie:references
Running via Spring preloader in process 414
      invoke  active_record
      create    db/migrate/20220406054902_remove_movie_from_genre.rb

削除用のマイグレーションファイルを確認します。

20220406054902_remove_movie_from_genre.rb
class RemoveMovieFromGenre < ActiveRecord::Migration[6.0]
  def change
    remove_reference :genres, :movie, null: false, foreign_key: true
  end
end

特に問題ないので、手を加えることなくrails db:migrateを実行します。

# rails db:migrate
== 20220406054902 RemoveMovieFromGenre: migrating =============================
-- remove_reference(:genres, :movie, {:null=>false, :foreign_key=>true})
   -> 0.1231s
== 20220406054902 RemoveMovieFromGenre: migrated (0.1268s) ====================

以上でカラムの削除ができました。

何か間違いや不足などあればご指摘いただけると幸いです。

開発環境
mac OS バージョン11.6
エディタ
VScode

参考:https://qiita.com/himatani/items/38445aafa1312390d418

0
0
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
0
0