0

当我尝试执行耙子时,我得到以下信息。我已经尝试了一些修复,比如内爆和重新安装我的 rvm - ruby​​ (v1.9.3-p125),但似乎没有任何效果。有任何想法吗?

rake db:seed --trace
** Invoke db:seed (first_time)
** Execute db:seed
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:abort_if_pending_migrations
rake aborted!
stack level too deep
/Users/rm/.rvm/gems/ruby-1.9.3-p125@global/gems/rake-0.9.2.2/lib/rake/task.rb:162
Tasks: TOP => db:seed

如果我尝试运行 rake db:reset --trace

-- initialize_schema_migrations_table()
   -> 0.0025s
-- assume_migrated_upto_version(20120803181844,       ["/Users/rossmcnairn/rails/search/db/migrate"])
   -> 0.0218s
** Invoke db:structure:load_if_sql (first_time)
** Invoke db:create 
** Execute db:structure:load_if_sql
** Invoke db:seed (first_time)
** Execute db:seed
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment 
** Execute db:abort_if_pending_migrations
rake aborted!
stack level too deep
/Users/rossmcnairn/.rvm/gems/ruby-1.9.3-p125@global/gems/rake-0.9.2.2/lib/rake/task.rb:162
Tasks: TOP => db:setup => db:seed

我检查了我的 bundle exec 版本和我的常规 rake 版本是否匹配。

rake --version
rake, version 0.9.2.2

bundle exec rake --version
rake, version 0.9.2.2

任何帮助将不胜感激!

4

3 回答 3

2

更新 OSX 会导致 rubies 出现问题,您应该重新编译所有 rubies:

chown -R $USER: $rvm_path
rvm get head
rvm reinstall 1.9.3-p125
rvm all-gesmsets do rvm gemset pristine

另请注意,任何其他编译的东西(如库)都需要重新编译,包括 homebrew、macportrvm pkg和您手动编译的任何包。

于 2012-08-05T23:37:19.277 回答
0

这可能很明显,但我花了几个小时。我无意中为模型创建了一个名为 的类方法create,它与 ActiveRecord 相同create。所以我的种子文件有循环引用。

我只是一直盯着种子文件,想知道为什么我之前能够运行它两次(在添加类方法之前)却得到错误。故事的寓意:命名很重要。

于 2014-12-02T17:26:52.610 回答
0
** Execute db:abort_if_pending_migrations
rake aborted!

您是否尝试运行迁移?

于 2012-08-06T13:12:31.710 回答