質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

1回答

1595閲覧

tableが作成できない

Snoopy_2020

総合スコア0

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2020/10/21 10:54

前提・実現したいこと

初心者です。
今、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/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/10/21 11:02

>StandardError: An error has occurred, this and all later migrations canceled: 上記そのまま検索ワードとして投入してそれなりに情報出てきますが、それでは何か足りませんか?
m.ts10806

2020/10/21 11:03

ただ、エラーだけ提示されても何とも言えません。 モデルを作ったところ、マイグレーションの定義など含めて全てご提示ください。
Snoopy_2020

2020/10/21 11:15

返信ありがとうございます。 rails db:migrate statusでdown になっているファイルを全て削除することによってできました。 違う質問なのですが、モデルファイルはできているのにテーブルに反映されないというのはなぜなのでしょうか?
m.ts10806

2020/10/21 11:18

「テーブルに反映されない」が何を指しているのか今一つ分かりませんが、DBのことであれば、モデルは単なる1プログラムでしかないからでは。 Railsチュートリアルにもある程度言及されていそうですが…
Snoopy_2020

2020/10/21 11:30

そうです、DBのことです。 僕の習った教材では、ターミナルで rails generate model user と打てば、models/user.rbというファイルとdb/schema.rbの中にusersというテーブルができるという趣旨が書いてありました。しかし、今回これ通りに進めた結果、user.rbというファイルはできましたがusersというテーブルが作成されませんでした。 これは何故でしょうか? 私のいっていることでおかしなところがあれば教えていただきたいです。
guest

回答1

0

「rails generate model userと打てば、models/user.rbというファイルとdb/schema.rbの中にusersというテーブルができる」
とあったならその教材は間違えています。捨てましょう。
でも「という趣旨」なら、あなたが勘違いしてるだけですね。間が吹っ飛んでますし誤解してます。
models/user.rbというファイルと『db/migrate/***CreateUser.rb ができます。
そこで rails db:migrate を実行すると、databaseに usersというテーブルができ、
users を含めた禅tableのスキーマ情報を書きだした』db/schema.rbができます。
『』内が飛んでますし、schema.rbはテーブルではないです。

投稿2020/10/21 23:27

winterboum

総合スコア23567

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Snoopy_2020

2020/10/22 02:23

返信ありがとうございます。 よく教材を見るとおっしゃっているようなことが書かれていました。 わかりやすい説明ありがとうございます。 ここでもう一つ疑問が出てきたのですが、rails db:migrate してもテーブルが作成されないのですがそれはなぜでしょうか?
winterboum

2020/10/22 04:31

確認はどのようにしましたか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問