前提・実現したいこと
初心者です。
今、railsのDM機能を作ろうとしている最中で中間テーブルのentry Modelを作ろうとしています。モデルファイルを作ることはできるのですが、テーブルに反映されていません。
ご教授ください。
発生している問題・エラーメッセージ
== 20201017094245 AddUserToEntry: migrating =================================== -- add_column(:entries, :user, :refarence) rails aborted! StandardError: An error has occurred, this and all later migrations canceled: SQLite3::SQLException: no such table: entries /Users/Desktop/db/migrate/20201017094245_add_user_to_entry.rb:3:in `change' /Users/bin/rails:9:in `<top (required)>' /Users/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: entries /Users/db/migrate/20201017094245_add_user_to_entry.rb:3:in `change' /Users/bin/rails:9:in `<top (required)>' /Users/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: SQLite3::SQLException: no such table: entries /Users/db/migrate/20201017094245_add_user_to_entry.rb:3:in `change' /Users/bin/rails:9:in `<top (required)>' /Users/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)``` ### 該当のソースコード
Ruby on Rails
### 試したこと ですので、一度モデルを消して再び作ったのですが、migrateする時にエラーが出ていることに気づきました。一度ターミナルにrails db:migrate:resetを打ってから再びmigrateしたのですがだめでした。 ### 補足情報(FW/ツールのバージョンなど)
>StandardError: An error has occurred, this and all later migrations canceled:
上記そのまま検索ワードとして投入してそれなりに情報出てきますが、それでは何か足りませんか?
ただ、エラーだけ提示されても何とも言えません。
モデルを作ったところ、マイグレーションの定義など含めて全てご提示ください。
返信ありがとうございます。
rails db:migrate statusでdown になっているファイルを全て削除することによってできました。
違う質問なのですが、モデルファイルはできているのにテーブルに反映されないというのはなぜなのでしょうか?
「テーブルに反映されない」が何を指しているのか今一つ分かりませんが、DBのことであれば、モデルは単なる1プログラムでしかないからでは。
Railsチュートリアルにもある程度言及されていそうですが…
そうです、DBのことです。
僕の習った教材では、ターミナルで
rails generate model user
と打てば、models/user.rbというファイルとdb/schema.rbの中にusersというテーブルができるという趣旨が書いてありました。しかし、今回これ通りに進めた結果、user.rbというファイルはできましたがusersというテーブルが作成されませんでした。
これは何故でしょうか?
私のいっていることでおかしなところがあれば教えていただきたいです。