我似乎遇到了一个障碍,在这里和其他论坛上搜索过,但什么也没有。我正在运行 rails 3.2.3 和 ruby 1.9.3 并想在 heroku 上部署我的应用程序。
我已经创建了雪松,虽然我可以git push heroku master
得到一个完整的 500 服务器错误。我怀疑是因为我的数据库不在那里。但是,我似乎无法到达那里。我跑过:
heroku run rake db:create
-> 这给出了一些关于弃用的警告,然后dkhgclqccm already exists
所以它已经存在了?所以让我们迁移它:
heroku run rake db:migrate
然而,这输出:
<deprecation errors>
rake aborted!
An error has occurred, this and all later migrations canceled:
PG::Error: ERROR: relation "hphotos" does not exist
: ALTER TABLE "hphotos" ADD COLUMN "description" character varying(255)
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
该特定迁移是:
class AddDescriptionToHphotos < ActiveRecord::Migration
def change
add_column :hphotos, :description, :string
end
end
对我来说似乎很好,不知道为什么它给我这个错误:/
最后一件事,即使这个迁移成功了,我的数据库也会是空的,我的seeds.rb 没有数据库的所有必要数据。所以我想推孔DB。
heroku db:push
! Taps Load Error: cannot load such file -- sqlite3
! You may need to install or update the taps gem to use db commands.
! On most systems this will be:
!
! sudo gem install taps
为什么会出现这个?我安装了 'heroku' gem 和 'taps' gem,我在我的 gem 文件中得到了这个:
group :development, :test do
gem 'mysql2'
end
group :production do
gem 'pg'
end
此外,当我运行时heroku run rake db:version
,它显示: 当前版本:20120508130957 这实际上是我当前版本的 5 次迁移,但我无法迁移它,如我上面提到的错误所示......
提前致谢