実現したいこと
terminal
1 $ rails g migration ChangeColumnToMicropost
により、micropostsテーブルのsoldカラムのデフォルト値を、何も設定していなかった状態からfalseに変更しようとしています。
現状
schema
1create_table "microposts", force: :cascade do |t| 2 t.text "content" 3 t.integer "user_id" 4 t.datetime "created_at", null: false 5 t.datetime "updated_at", null: false 6 t.string "picture" 7 t.integer "price" 8 t.integer "cost" 9 t.boolean "sold" 10 t.string "name" 11 t.index ["user_id", "created_at"], name: "index_microposts_on_user_id_and_created_at" 12 t.index ["user_id"], name: "index_microposts_on_user_id" 13 end
変更前のschemaは上記のようになっています。
_change_column_to_micropost
1class ChangeColumnToMicropost < ActiveRecord::Migration[5.1] 2 def up 3 change_column :microposts, :sold, :boolean, null: false, default: false 4 end 5end
マイグレーションファイルを上記のように書き換えたところで、
terminal
1$ rails db:migrate
を実行すると、下記の様なエラーが発生してしまいます。
error
1-- change_column(:microposts, :sold, :boolean, {:null=>false, :default=>false}) 2rails aborted! 3StandardError: An error has occurred, this and all later migrations canceled: 4 5SQLite3::ConstraintException: foreign key constraint failed: DROP TABLE "microposts"
何が起きているのかわからず、ほかの作業が進められない状態です。どなたか助けてください(´;ω;`)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/30 06:52 編集
退会済みユーザー
2019/04/30 06:58
2019/04/30 07:17 編集