![](/img/trans.png)
[英]Devise authenticate_admin_user! does not work after upgrading to rails 5
[英]Devise for creating a User on Rails does not work
我创建了一个迁移,用于通过Devise生成用户模型,如下所示:
rails g devise User
然后通过Devise创建一些视图:
rails g devise:views
现在,当我运行rails db:migrate时 ,出现以下错误:
C:\Users\andri\Desktop\hoagieShop\hoagieShop>rails db:migrate
== 20190202141046 AddDeviseToUsers: migrating =================================
-- change_table(:users)
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: no such table: users: ALTER TABLE "users" ADD "email" varchar DEFAULT '' NOT NULL
C:/Users/andri/Desktop/hoagieShop/hoagieShop/db/migrate/20190202141046_add_devise_to_users.rb:7:in `block in up'
C:/Users/andri/Desktop/hoagieShop/hoagieShop/db/migrate/20190202141046_add_devise_to_users.rb:5:in `up'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
Caused by:
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: users: ALTER TABLE "users" ADD "email" varchar DEFAULT '' NOT NULL
C:/Users/andri/Desktop/hoagieShop/hoagieShop/db/migrate/20190202141046_add_devise_to_users.rb:7:in `block in up'
C:/Users/andri/Desktop/hoagieShop/hoagieShop/db/migrate/20190202141046_add_devise_to_users.rb:5:in `up'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
Caused by:
SQLite3::SQLException: no such table: users
C:/Users/andri/Desktop/hoagieShop/hoagieShop/db/migrate/20190202141046_add_devise_to_users.rb:7:in `block in up'
C:/Users/andri/Desktop/hoagieShop/hoagieShop/db/migrate/20190202141046_add_devise_to_users.rb:5:in `up'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
这是迁移中的代码:
class AddDeviseToUsers < ActiveRecord::Migration[5.0]
def self.up
change_table :users do |t|
## Database authenticatable
t.string :email, null: false, default: ""
t.string :encrypted_password, null: false, default: ""
## Recoverable
t.string :reset_password_token
t.datetime :reset_password_sent_at
## Rememberable
t.datetime :remember_created_at
end
add_index :users, :email, unique: true
add_index :users, :reset_password_token, unique: true
end
def self.down
raise ActiveRecord::IrreversibleMigration
end
end
有谁知道为什么会这样? 感谢您的帮助!
试试这个命令
rake db:drop
rake db:create
rake db:migrate
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.