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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

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

Q&A

解決済

1回答

876閲覧

Ruby Migration error で止まってしまう

yoshidesu

総合スコア4

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

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

0グッド

0クリップ

投稿2021/07/13 08:36

前提・実現したいこと

お世話になっております。
ruby on rails を学習中で、ウェブアプリケーションのデモ制作にかかっています。現在は、Twitterのような投稿サイトを模倣した ウェブアプリケーションを作っています。

該当のソースコード

ログイン画面を追加し、トップページをブラウザ上で確認しようとしたところ ActiveRecord::Pending Migration Errorと表示され、これより先に進めなくなってしまいました。

以下 画面に書かれていた内容です。

ActiveRecord::PendingMigrationError
Migrations are pending. To resolve this issue, run:
bin/rails db:migrate RAILS_ENV=development
You have 3 pending migrations:
20210708070347_add_image_name_to_users.rb
20210709075846_add_password_to_users.rb
20210713075625_create_users.rb

試したこと

このブラウザのエラーを修正しようと自分なりに調べてみて以下を実行し、結果はこうなりました。

ターミナルで

rake db:migrate

を実行し、

== 20210708070347 AddImageNameToUsers: migrating ==============================
-- add_column(:Users, :image_name, :string)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

SQLite3::SQLException: no such table: Users
/Users/yoshi/sample_tweetapp/db/migrate/20210708070347_add_image_name_to_users.rb:3:in `change'

Caused by:
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: Users
/Users/yoshi/sample_tweetapp/db/migrate/20210708070347_add_image_name_to_users.rb:3:in `change'

Caused by:
SQLite3::SQLException: no such table: Users
/Users/yoshi/sample_tweetapp/db/migrate/20210708070347_add_image_name_to_users.rb:3:in `change'
Tasks: TOP => db:migrate

という形で、Usersテーブルがデータベースの中にないよ!と言われてしまいました。

ターミナルで、初期にUsersテーブルも作ったと思っていたのですが、このように表示される以上問題がありそうです。。。

分かる方、助けてください。宜しくお願い致します。

補足情報(FW/ツールのバージョンなど)

Ruby 3.0.1
Rails 6.1.4

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

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

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

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

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

guest

回答1

0

ベストアンサー

一般に、RailsでUsersのような大文字のテーブル名を指定する事例は少ないです(モデルUserに対してテーブルusersが対応します)。

小文字にしてみたらどうなりますでしょうか?

投稿2021/07/13 08:59

maisumakun

総合スコア145183

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

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

yoshidesu

2021/07/13 09:08

maisumakun SAN ヘルプ回答ありがとうございます。 直近で 状況打開しようと ターミナルにて bin/rails db:environment:set RAILS_ENV=development のコマンドをしても、 Caused by: SQLite3::SQLException: no such table: Users にて、先に進んでくれません。。 自分の知識が浅いので分からないのですが、 ターミナルでUsersのタブがないよと言われていて、小文字に変更するのはどうやるのでしょうか 。。。
maisumakun

2021/07/13 09:11

マイグレーションファイルを書き換えてください。
yoshidesu

2021/07/13 09:20

maisumakun さん 度々、知識足らずですみません。。
maisumakun

2021/07/13 09:24

本当にusersテーブルがなかっただけ、ということはありませんか?
yoshidesu

2021/07/13 09:26

その場合、どうやって後から追加すれば宜しいのでしょうか???
yoshidesu

2021/07/13 09:27

app/views/users はあります!
maisumakun

2021/07/13 09:27

まず確認すべきは、「usersテーブルを作る」マイグレーションがあったかどうかです。
maisumakun

2021/07/13 09:27

> app/views/users はあります! ビューは無関係です。
yoshidesu

2021/07/13 09:28

app/controllers の users_controllersもあります。
maisumakun

2021/07/13 09:30

> app/controllers の users_controllersもあります。 コントローラーも無関係です。
yoshidesu

2021/07/13 09:32

データベースの中にusersテーブルがあるかないか確認してみます!(確認方法ともしなかった場合の作成方法も最後に教えてください。。。!!すみません!)
maisumakun

2021/07/13 09:34

あの、最後までusersテーブルを作るマイグレーションを探さなかった理由は何なのでしょうか?
yoshidesu

2021/07/13 09:45

探し方が分からないんです.....
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問