ここでは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