rakedb:migrate:重置为转储模式



见鬼,我正在学习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

在这种情况下该怎么办?

尝试验证以下内容:-

  1. 您有database.yml中提到的用户名/密码的数据库
  2. 数据库为空
  3. 运行rake db:migrate时,将生成schema.rb
  4. 您有一个有效的database.yml文件

最新更新