见鬼,我正在学习Hartl的RubyonRails教程,并在第9章中为用户添加管理控制。
我在上面写的地方
重置数据库:
$ bundle exec rake db:migrate:reset
$ bundle exec rake db:seed
上一次我遵循这个(在教程的前面),它按照指示重置了数据库,但也删除了我的schema.rb。这很烦人。
我又试了一次,但它又一次删除了我的数据库并擦除了我的schema.rb。当然这不是故意的。
我很难弄清楚我该做什么了。我现在的数据库出现了各种各样的错误。我收到了关于挂起的迁移的错误,但没有一个db:xxx命令有效,每个命令都会抛出一长串错误,比如
/Users/Ke0/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:994:in `execute_migration_in_transaction'
/Users/Ke0/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:956:in `block in migrate'
/Users/Ke0/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:952:in `each'
/Users/Ke0/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:952:in `migrate'
/Users/Ke0/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:820:in `up'
/Users/Ke0/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/migration.rb:798:in `migrate'
/Users/Ke0/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/tasks/database_tasks.rb:137:in `migrate'
/Users/Ke0/.rvm/gems/ruby-2.2.0/gems/activerecord-4.2.0/lib/active_record/railties/databases.rake:44:in `block (2 levels) in <top (required)>'
Tasks: TOP => db:migrate
在这种情况下该怎么办?
尝试验证以下内容:-
- 您有database.yml中提到的用户名/密码的数据库
- 数据库为空
- 运行
rake db:migrate
时,将生成schema.rb
- 您有一个有效的
database.yml
文件