実現したい事
heroku run rails db:migrateが通るようにしたい
ターミナルのエラー文
Mysql2::Error: Duplicate column name 'card_id' /app/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `_query' /app/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:131:in `block in query' /app/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `handle_interrupt' /app/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.3/lib/mysql2/client.rb:130:in `query' (省略) Caused by: ActiveRecord::StatementInvalid: Mysql2::Error: Duplicate column name 'card_id'
試した事
https://qiita.com/niyomong/items/22fa60657ea8ee478647
こちらの記事を参考にして
自身のマイグレーションファイルの
class AddCardIdToCategories < ActiveRecord::Migration[6.0] def change add_column :categories, :card_id, :integer end end
このコードのカラムを消して、
rails db:migrateを実行して、
その後元に戻して、
本題の
heroku run rails db:migrate
を実行してみましたが変わらずエラーが出てしまいます。
どなたか教えてくれますと幸いです。
heroku run rails db:migrate:status
の結果を見せて
ありがとうございます。
```
up 20201214021829 Create cards
up 20201229021731 Create categories
up 20210102055955 Add ancestry to category
down 20210105025455 Add card id to categories
down 20210106020218 Add card id to cards
down 20210219215115 Devise create users
down 20210222054109 Add nickname to users
```
こちらになります、
downになっているのが原因がわかるのでうsがどのようにすればいいのか分からずです。。。
現在のマイグレーションファイルがこちらになります。
```
class CreateCards < ActiveRecord::Migration[6.0]
def change
create_table :cards do |t|
t.string :language
t.text :title
t.integer :price
t.string :releasedate
t.text :author
t.text :memo
t.integer :category_id
t.timestamps
end
end
end
```
```
class CreateCategories < ActiveRecord::Migration[6.0]
def change
create_table :categories do |t|
t.string :name
t.integer :card_id
t.timestamps
end
end
end
```
```
class AddCardIdToCategories < ActiveRecord::Migration[6.0]
def change
add_column :categories, :card_id, :integer
end
end
```
```
class AddCardIdToCards < ActiveRecord::Migration[6.0]
def change
add_column :cards, :category_id, :integer
end
end
```
### 仮説
class AddCardIdToCategories < ActiveRecord::Migration[6.0]
def change
add_column :categories, :card_id, :integer
end
end
上記のマイグレーションファイルが原因だと分かりましたがどのようにすればいいでしょうか?、、、
回答1件
あなたの回答
tips
プレビュー