简体   繁体   中英

Rails rake tasks aborting

I am having trouble running any rake task for my Rails application, and no matter what task I run (rake db:migrate, rake db:reset, etc), I get the following error:

rake aborted!
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: pages: SELECT "pages".* FROM "pages"

I continue getting this error - no matter what rake task I run, and also when I try to run the server:

rails s

gets the following error

Exiting
/Users/terencedevine/.rvm/gems/ruby-2.1.2/gems/sqlite3-1.3.11/lib/sqlite3/database.rb:91:in `initialize': SQLite3::SQLException: no such table: pages: SELECT "pages".* FROM "pages" (ActiveRecord::StatementInvalid)

Everything I find online suggests using rake db:reset but that returns the same error.

One of my more recent migrations I ran was a XXXX_create_pages.rb which has the following code:

class CreatePages < ActiveRecord::Migration
  def change
    create_table :pages do |t|
      t.string :name, null: false, unique: true
      t.string :title, null: false
      t.text :body

      t.timestamps null: false
    end
  end
end

Any help is greatly appreciated! Thanks!

UPDATE

在此处输入图片说明

You need to make sure you actually execute your migrations.

Try rake db:migrate then try to run your server or console again.

确保先运行rake db:create ,然后运行rake db:create rake db:migrate ,这应该可以工作。

ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: pages: SELECT "pages".* FROM "pages"

From the error message, it's obvious that the pages table does not exist in your database right now. It got deleted somehow even if you did not delete it knowingly.

So, you should create the pages table again by running the corresponding migration:

rake db:migrate

In case your schema version exceeded to migration XXXX_create_pages.rb then rename you migration with greatest timestamp.

Eg.

Your page migration is

20151130203912_create_pages.rb

If your current schema version is

ActiveRecord::Schema.define(:version => 20151211175046)

Then pages migration must be 20151230203912_create_pages.rb

I hope it would be helpful.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM