🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails

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

Q&A

解決済

1回答

287閲覧

ActiveRecord::PendingMigrationError が解決できません

menmanegi_ayaka

総合スコア10

Ruby on Rails

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

0グッド

2クリップ

投稿2019/10/20 12:25

編集2019/10/21 22:23

環境:
ruby 2.6.3
Rails 6.0.0

Railsでタスクアプリを作成中dbを削除して作り直したのですが、下記の
エラー画面が出てしまいました。
イメージ説明

調べてみて
bundle exec rake db:migrate
をしてみたのですが、ターミナルでこのようなメッセージが出ました。

== 20191020071103 AddUserIdToTasks: migrating ================================= -- execute("DELLETE FROM tasks;") rake aborted! StandardError: An error has occurred, this and all later migrations canceled: PG::SyntaxError: ERROR: syntax error at or near "DELLETE" LINE 1: DELLETE FROM tasks; ^ /Users/mymac/study/taskleaf/db/migrate/20191020071103_add_user_id_to_tasks.rb:3:in `up' /Users/mymac/.rbenv/versions/2.6.3/bin/bundle:23:in `load' /Users/mymac/.rbenv/versions/2.6.3/bin/bundle:23:in `<main>' Caused by: ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near "DELLETE" LINE 1: DELLETE FROM tasks; ^ /Users/mymac/study/taskleaf/db/migrate/20191020071103_add_user_id_to_tasks.rb:3:in `up' /Users/mymac/.rbenv/versions/2.6.3/bin/bundle:23:in `load' /Users/mymac/.rbenv/versions/2.6.3/bin/bundle:23:in `<main>' Caused by: PG::SyntaxError: ERROR: syntax error at or near "DELLETE" LINE 1: DELLETE FROM tasks; ^ /Users/mymac/study/taskleaf/db/migrate/20191020071103_add_user_id_to_tasks.rb:3:in `up' /Users/mymac/.rbenv/versions/2.6.3/bin/bundle:23:in `load' /Users/mymac/.rbenv/versions/2.6.3/bin/bundle:23:in `<main>' Tasks: TOP => db:migrate (See full trace by running task with --trace)

教えて頂けると助かります。よろしくお願いいたします。

■追記■

migrationファイルです(downの最初です)

class ChangeTaskNameLimit30 < ActiveRecord::Migration[6.0] def up change_column :tasks, :name, :string, limit:30 end def down change_column :tasks, :name, :string end end

migrationファイルです(念の為downの2つ目です)

class AddUserIdToTasks < ActiveRecord::Migration[6.0] def up execute 'DELLETE FROM tasks;' add_reference :tasks, :user, null: false, index: true end def down remove_reference :tasks, :user, index: true end end

$rails db:migrate:status の結果です

database: taskleaf_development Status Migration ID Migration Name -------------------------------------------------- up 20191017095612 Create tasks up 20191019012825 Rename descriprion column to tasks up 20191020005240 Change tasks name not null up 20191020005913 Change task name limit30 up 20191020023534 Create users up 20191020025503 Add admin to users down 20191020071103 Add user id to tasks

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

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

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

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

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

guest

回答1

0

ベストアンサー

DELLETE が綴が違うのが気になりますが、そのまえに状態を把握しておく必要があります。
rails db:migarte:status の結果と、
そこに UP、DOWN と書かれていますので、一番初めの DOWN なmigrationの内容を
質問を編集して  開示して下さい

投稿2019/10/20 13:16

winterboum

総合スコア23567

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

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

menmanegi_ayaka

2019/10/20 13:48

@winterboum 様 早速のコメントありがとうございます。 スペル…違いますね。 rails db:migarte:statusの結果と。 migrationの内容を追加いたしました。 宜しくお願いいたします。
winterboum

2019/10/20 14:08

私もミススペル db:migrate:status して下さい
menmanegi_ayaka

2019/10/21 22:24

@winterboum 様 コメントありがとうございます。 失礼いたしました。 内容修正いたしました。 宜しくお願いいたします。
menmanegi_ayaka

2019/10/21 22:46

@winterboum 様 マイグレーションファイルを削除して 作り直すと、エラーが消えました。 ご指摘いただいた通りdeleteのスペルが違うので 上手くできなかったようです。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問