Ruby on rails Heroku在远程应用程序上运行rake?
我正在Nitrous.io上托管的应用程序上使用Heroku Postgres。应用程序正在运行,但出现以下错误:Ruby on rails Heroku在远程应用程序上运行rake?,ruby-on-rails,ruby,postgresql,heroku,Ruby On Rails,Ruby,Postgresql,Heroku,我正在Nitrous.io上托管的应用程序上使用Heroku Postgres。应用程序正在运行,但出现以下错误: PG::Error: ERROR: relation "users" does not exist LINE 5: WHERE a.att
PG::Error: ERROR: relation "users" does not exist
LINE 5: WHERE a.attrelid = '"users"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"users"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
rake aborted!
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)
/usr/local/lib/ruby/1.9.1/rake.rb:2367:in `raw_load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling'
/usr/local/lib/ruby/1.9.1/rake.rb:2006:in `load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:1991:in `run'
/usr/local/bin/rake:31:in `<main>'
因此,在阅读了相关内容后,我尝试运行了heroku run rake:db reset--app app_name
,但出现了以下错误:
PG::Error: ERROR: relation "users" does not exist
LINE 5: WHERE a.attrelid = '"users"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"users"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
rake aborted!
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)
/usr/local/lib/ruby/1.9.1/rake.rb:2367:in `raw_load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling'
/usr/local/lib/ruby/1.9.1/rake.rb:2006:in `load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:1991:in `run'
/usr/local/bin/rake:31:in `<main>'
我试过在我的应用程序文件夹中运行heroku run rake db:migrate,但它不起作用。相反,我尝试使用Heroku postgres DB的名称,应用程序名称应该放在这里。有什么建议吗 由于您的应用程序不在Heroku托管,因此尝试在Heroku内运行您的
rake
任务将无法工作。您需要从Nitrous.io运行rake
任务。或者,如果您可以在本地运行代码,因为您的开发配置设置指向Heroku数据库,您可以在本地计算机上运行rake db:reset
。因为您的应用程序不在Heroku托管,所以尝试在Heroku内运行rake
任务将无法工作。您需要从Nitrous.io运行rake
任务。或者如果您可以在本地运行代码,由于您的开发配置设置指向Heroku数据库,因此您可以在本地计算机上运行rake db:reset
。尝试Heroku run rake db:drop
然后Heroku run rake db:create
如果成功,则Heroku run rake db:migrate
。失败,并说“未找到资源”。我在Rails应用程序中运行了rake db:drop命令。知道吗?为什么在database.yml中我只看到dev环境的配置。在Heroku上,您的应用程序应该在生产环境中运行。请修复此问题并让我们知道。仍然会收到“找不到rakefile”错误消息请尝试使用heroku run rake db:drop
然后heroku run rake db:create
如果成功,则heroku run rake db:migrate
。失败时会说“未找到资源”。我在Rails应用程序中运行了rake db:drop命令。知道吗?为什么在database.yml中我只看到dev环境的配置。在Heroku上,您的应用程序应该在生产环境中运行。请修复此问题并通知我们。仍将收到“未找到rakefile”错误消息