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

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

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

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

Q&A

解決済

1回答

2190閲覧

rails sで Migrations are pending. To resolve this issue, run: rails db:migrate RAILS_ENV=development

korogi

総合スコア12

Ruby

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

0グッド

0クリップ

投稿2020/12/23 13:02

今回は以前出ていたno method error for nil classの問題を回答者の方のお力添えで解決できたものの再度rails sを実行すると
Migrations are pending. To resolve this issue, run: rails db:migrate RAILS_ENV=development
が表示されたので自分としてこちらのエラーログを調べ解決策に手順として以下のコマンドを入力する方う方があったので入力しましたが特に解決せず。。
$ rake db:migrate:reset →  $ rake db:migrate

そして次にitemのmigrationファイルにあるカラムの数と種類がitemsのcontrollerのものと一致していないことが原因なのかと考えマイグレーションファイルの中身を変更するためにrails db:rollbackを実行しようとしました。

そうすると以下の写真の様なエラーが発生しrollbackが上手くいきませんでした。
ActiveRecord::IrreversibleMigration
イメージ説明

そのことから自分はrollbackが上手くいかず上記の様なActiveRecord::IrreversibleMigration
が表示された時の対処法をあるサイトでそのコマンド(以下に$から)を発見しその通りに実行しかしそのコマンドを実行すると表示されるというエラーコードが表示されず自分としては手詰まりになってしまいました。
$ heroku run rake db:migrate:reset

dropさせるやり方も試したのですが上手くいかないので何卒ご指摘いただける方がいらっしゃいましたらよろしくお願いします????

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

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

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

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

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

guest

回答1

0

ベストアンサー

ローカルのDBとherokuのDBの操作が混じっていて混乱します。
今は heroku の DB は関係ないと思います。

以下の状況で合っていますでしょうか。

$ rake db:migrate:reset 成功した $ rake db:migrate Create Users に成功した Add devise to users に成功した (1) Create Items に失敗した $ rails db:rollback (2) Add Devise to users のロールバックに失敗した

(1) itemsテーブルがないのに drop_table しようとしている
(2) Add Devise to users に不可逆な記述がある

Migrations are pending. To resolve this issue, run: rails db:migrate RAILS_ENV=development

上記のエラーはmigrateするのを忘れてる時に出るやつです。
なので、不要な xxxxxxxxxx_create_items.rb(名前に反して削除しようとしている) を削除すればたぶん起動できます。

追記

items table を作成したいなら、drop_table を create_table に変更して
$ bin/rake db:migrate してみてください。

投稿2020/12/23 13:36

編集2020/12/23 13:57
neko_daisuki

総合スコア2090

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

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

korogi

2020/12/24 09:43

neko_daisukiさんありがとうございます!いただいた内容の通りに先にdropをcreateに変更しrails db:migrateを実行しました。そしてrails sで確認したものの以前と変わらず、同じエラーが表示されてしまいます。、、dbの問題なのかとも考えましたがしかしSwquel Proには必要なカラムがきちんと存在しているので何が問題なのか特定ができていません。、
korogi

2020/12/24 10:00

ちなみにこちらにはitemsテーブルのカラムを全て埋める作業もやりました。、しかし変わらずno method errorが表示されてしまいます。、何が問題なのでしょうか??????
neko_daisuki

2020/12/24 11:55

同じエラーというのは Migrations are pending.ですか? それとも以前の質問と同じ状態になったということでしょうか。
korogi

2020/12/25 00:20

NoMethodError in Swapapp#index Showing /Users/koorogi/projects/swapapp/app/views/swapapp/index.html.erb where line #4 raised: undefined method `each' for nil:NilClass Extracted source (around line #4): 2 3 4 5 6 7 <p>enjoy swapping!</p> <div class="contents row"> <% @items.each do |item| %> <div class="content_post" style="background-image: url(<%= item.image %>);"> <p><%= item.text %></p> <span class="name"> というエラーになりました。 こちらはMigrations are pending.の前のエラーになります。
korogi

2020/12/25 02:58

neko_daisukiさんへ! index.html,erbの4行目は <% @items.each do |item| %>こちらでしてeachで取り出すitemのテーブルにデータが入っていないというふうなエラーなのではないかと思いSequel proに手動でデータを入力しました。 本日はかなり時間を使えるので返信のスピードも早くできます!よろしく願いします!
neko_daisuki

2020/12/25 05:58

SwapappController の index で @items が定義されてるか確認してください。 前の質問を見ると、ItemsControllerが貼り付けられてますが、 ログを見るとこのコントローラー通ってないように見えます。 データの有無はエラーと関係ないと思います。 テーブルさえあれば問題ないはずです。
korogi

2020/12/25 09:15

コントローラーもとおり問題は解決しました。 こちらはurlのパターンに問題がありました、
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問