Closed sumura80 closed 5 years ago
$ bundle exec rake db:migrate:reset db:seed
とかでいけると思います:bow:
早速のご回答ありがとうございます。:bow: Schema.rbにカラムを追加するには、どのようにすればよろしいでしょうか? 下記のコードでは、name以外を登録できなくなっております。:sob:
rails g migration add_precautions_columns_to_categories blurb:text image:string precaution_red:text precaution_red:text precaution_large:text
````
duplicateというエラーが出てしまいました。
すいません。エラー出力も記載して頂きたいです:bow:
大変失礼いたしました。:bow: 💦 下記がエラーに至るまでのプロセスです。
cloneで環境をローカルに持ってきて、rails db:seed
でテストデータを投入しようとしました。
rails db:seed
rails aborted!
NoMethodError: undefined method `blurb' for #<Category:0x00007fc659ae92d8>
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/db/seeds.rb:13:in `<top (required)>'
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/bin/rails:9:in `require'
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/bin/rails:9:in `<top (required)>'
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => db:seed
(See full trace by running task with --trace)
seedで blurbカラム
出ていなかったので、カラムに追加するためマイグレーションファイルを作成しました。
rails g migration add_precautions_columns_to_categories blurb:text image:string precaution_red:text precaution_red:text precaution_large:text
Running via Spring preloader in process 4541
invoke active_record
create db/migrate/20190216020345_add_precautions_columns_to_categories.rb
その後rails db:migrate時にエラーが出ました。
rails db:migrate
== 20190216020345 AddPrecautionsColumnsToCategories: migrating ================
-- add_column(:categories, :blurb, :text)
-> 0.0009s
-- add_column(:categories, :image, :string)
-> 0.0002s
-- add_column(:categories, :precaution_red, :text)
-> 0.0003s
-- add_column(:categories, :precaution_red, :text)
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: duplicate column name: precaution_red: ALTER TABLE "categories" ADD "precaution_red" text
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/db/migrate/20190216020345_add_precautions_columns_to_categories.rb:6:in `change'
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/bin/rails:9:in `require'
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/bin/rails:9:in `<top (required)>'
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Caused by:
ActiveRecord::StatementInvalid: SQLite3::SQLException: duplicate column name: precaution_red: ALTER TABLE "categories" ADD "precaution_red" text
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/db/migrate/20190216020345_add_precautions_columns_to_categories.rb:6:in `change'
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/bin/rails:9:in `require'
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/bin/rails:9:in `<top (required)>'
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Caused by:
SQLite3::SQLException: duplicate column name: precaution_red
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/db/migrate/20190216020345_add_precautions_columns_to_categories.rb:6:in `change'
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/bin/rails:9:in `require'
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/bin/rails:9:in `<top (required)>'
/Users/med_plus_bs4_dev/med_plus_bs4_updated_master/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
お手数おかけしますが、ご教示いただけませんでしょうか。 宜しくお願いいたします。:bow:
あれ?これは実行してない感じでしょうか? https://github.com/rexitorg/menta/issues/30#issuecomment-464272402
@rexitorg
自分の入力した#30 (comment)
がtypoで間違っていました。:sweat_smile:
こちら解決していたしました。
大変助かりました。
お忙しい中、ありがとうございました。:bowing_man:
概要
Schema.rb
のカラムとRails c
から入った時のカラムが異なっているので、修正したい。 Seedのデータを入れる時にエラーが出ました。調査するとカラムが異なっていました。 これは、ほかのブランチでテストカラムを作っていたのですが、マスターに一部入ってしまったようです。実現したいこと
Masterに残りのカラムを保存したい。
解決するために行ったこと
Schemaに残りのカラムを入れるため、下記のマイグレーションを投入しましたが、duplicateというエラーが出てしまいました。
この画像の状況で、どのようにすれば、適切にマイグレーションを行うことができるか教えていただけませんでしょうか? 宜しくお願いいたします。:bow: