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

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

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

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

Q&A

1回答

1945閲覧

ActiveRecord::PendingMigrationErrorが解決できない

-maeji-

総合スコア39

Ruby on Rails

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

0グッド

0クリップ

投稿2018/12/11 04:59

ActiveRecord::PendingMigrationErrorというエラーメッセージが出ますが解決できません。

自分で調べてみたのは、マイグレーションファイルを一旦削除して再びマイグレートする手順を試してみましたが、解決できず、マイグレーションファイルが現在どのような状態か把握できなくなってしまいわからない状況です。

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

このエラーが出るまでに実行した手順は以下の通りです。

rb

1$ rails db:migrateしたが応答なし

rb

1$ rails db:resetを実行したのち、Udemyを参考にしたものは削除した

rb

1$ rails g migration AddColumnToTask


作成したファイルにカラムおよびデータ型を追加

rb

1class AddColumnToTask < ActiveRecord::Migration[5.2] 2 def change 3 add_column :tasks, :title, :string 4 add_column :tasks, :content, :text 5 end 6end

rb

1再び$ rails db:migrate

== 20181211021333 AddColumnToTask: migrating ================================== -- add_column(:tasks, :title, :string) rails aborted! StandardError: An error has occurred, this and all later migrations canceled: SQLite3::SQLException: duplicate column name: title: ALTER TABLE "tasks" ADD "title" varchar /Users/masaki/task_app/db/migrate/20181211021333_add_column_to_task.rb:3:in `change' /Users/masaki/task_app/bin/rails:9:in `<top (required)>' /Users/masaki/task_app/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: title: ALTER TABLE "tasks" ADD "title" varchar /Users/masaki/task_app/db/migrate/20181211021333_add_column_to_task.rb:3:in `change' /Users/masaki/task_app/bin/rails:9:in `<top (required)>' /Users/masaki/task_app/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: SQLite3::SQLException: duplicate column name: title /Users/masaki/task_app/db/migrate/20181211021333_add_column_to_task.rb:3:in `change' /Users/masaki/task_app/bin/rails:9:in `<top (required)>' /Users/masaki/task_app/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)

適応されたと思っていたが適応されていなかったようで、ここから再び

rb

1rails db:migrate reset 2rails db:migrate

の手順を踏んだが解決できず進めない状況です。

気になる点

development.sqlite3のファイルが点滅していないので、sqlite3が適応されていない。

text.sqlite3も同様

追記

$ rails db:migrate:status database: /Users/masaki/task_app/db/development.sqlite3 Status Migration ID Migration Name -------------------------------------------------- up 20181206051200 Create tasks up 20181211021333 ********** NO FILE ********** down 20181211040344 Add column to task

このような状況です

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

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

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

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

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

guest

回答1

0

rails aborted! と出力されエラーが示されていますから、それを修正することが必要。title というカラム名を重複定義したということのように見受けます。

なお質問はもう少し適切丁寧を心がけましょう。

  • 「Udemyを参考にしたものは削除した」は回答者側に、通じる情報が何もありません。
  • 誤字: ×適応、○適用
  • 「development.sqlite3のファイルが点滅していない」・・・意味不明です。

投稿2018/12/11 11:14

matsuand

総合スコア186

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

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

-maeji-

2018/12/13 04:06

回答ありがとうございます。カラムが重複していたみたいなのでそれを修正をしましたら、エラーが表示されなくなりました。ありがとうございました! 質問は、内容を共有している人間に向けてのものをコピーして、それを修正せずにそのまま投稿してしまいました。以後注意します。申し訳ありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問