Heroku rake db:迁移失败 - 缺少任务/ rails

时间:2010-10-17 12:49:29

标签: ruby-on-rails ruby rake heroku

我只是潜入Heroku并且遇到了一些障碍。每当我尝试创建数据库时,都会收到以下错误。

$ heroku rake db:migrate
 rake aborted!
 no such file to load -- tasks/rails
 /disk1/home/slugs/274236_54c3556_0822-55414a07-d565-459a-9412-67cc0e995790/mnt/Rakefile:10:in `require'
 (See full trace by running task with --trace)
 (in /disk1/home/slugs/274236_54c3556_0822-55414a07-d565-459a-9412-67cc0e995790/mnt)

我对错误消息试图告诉我的内容感到有点困惑。我可以验证在我的lib / tasks文件夹中没有名为'rails'或'rails.rb'的文件。但出于理智的考虑,我还使用脚手架在一个干净的脏衣服中创建一个新的RoR应用程序并验证它不存在。

此应用程序之前在Rails 2下运行,然后我将其升级到Rails 3.因此,当我升级时,我有一个很好的机会我不知所措。

此外,如果它有帮助,这里的命令与上面相同,启用了跟踪:

$ heroku rake db:migrate --trace
  rake aborted!
  no such file to load -- tasks/rails
  /disk1/home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/Rakefile:10:in `require'
  /disk1/home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/Rakefile:10
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2383:in `load'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2383:in `raw_load_rakefile'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2017:in `load_rakefile'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2016:in `load_rakefile'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2000:in `run'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/bin/rake:31
  /usr/ruby1.8.7/bin/rake:19:in `load'
  /usr/ruby1.8.7/bin/rake:19
  (in /disk1/home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt)

有关调查方向的任何线索都将受到高度赞赏。

谢谢!

修改

我开始认为Heroku是一只红鲱鱼。我可以尝试在本地运行db:migrate,它会产生相同的错误(显然是使用本地路径而不是Heroku的路径)。

这是一个基本的应用程序,没有特殊的gem依赖项。这是我的Gemfile:

source :gemcutter

gem 'mysql', '2.7'
gem 'rails', '3.0.1'
#gem 'rfacebook'
gem 'sqlite3-ruby', :require => 'sqlite3'

这也是我的database.yml:

# SQLite version 3.x
#   gem install sqlite3-ruby (not necessary on OS X Leopard)
development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000

1 个答案:

答案 0 :(得分:3)

看起来你的Rakefile中可能还有一些Rails 2文件。我从那里开始,也许比较默认的Rails 2和Rails 3 Rakefile s。