2

開発環境からherokuの本番環境にアプリをプッシュしようとしています。を使用してすべてのコードを転送しました

git push heroku master

今、私は自分のデータベースをプッシュする必要があり、私はこれを試しています

heroku db:push

しかし、その失敗と私はコンソールでこのメッセージを受け取ります。

ruby-1.9.3-p194@app0907api @~/Documents/myapp06     
>heroku db:push
/Users/hj/.rvm/gems/ruby-1.9.3-p194@app0907api/gems/sqlite3-1.3.6/lib/sqlite3/sqlite3_native.bundle: [BUG] Segmentation fault
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]

私のアプリは開発と本番およびテストにpostgresを使用しているため、これは少し奇妙です。sqliteをまったく使用しておらず、sqlite3用のgemもインストールしていません。

何がうまくいかない可能性がありますか?


 source 'https://rubygems.org/'

 gem 'rails', '3.2.8'



 gem 'rails-api'

 gem 'pg'

 gem 'taps'

 gem 'thin'

 gem 'foreman'

 gem 'rabl'



 gem 'paperclip', '~>3.2.0'
 gem 'aws-sdk', '~>1.3.4'

 group :development do

 gem 'annotate', ">=2.5.0"
 gem 'debugger'
 end

解決策が見つかりました:

ターミナルコンソールで次の行を入力しました。

 gem install heroku
 sudo gem install taps

これにより、次のコマンドを実行できました。

heroku db:push

...しかし今、dbを送信しているときに、このエラーが発生します:

 Saving session to push_201209202159.dat..
 !!! Caught Server Exception
 HTTP CODE: 500
 Taps Server Error: PGError: ERROR: time zone displacement out of range: "2012-09-18 12:00:00.000000+5894853600"
 LINE 1: ...ated_at") VALUES (45, '37.785834', '-122.406417', '2012-09-1...
4

2 に答える 2

3

更新:PGデータをインポート/エクスポートする機能が、heroku pg:pushおよびheroku pg:pullとしてCLIの一部になりました。

Heroku CLIにはpg:transferプラグインを使用することを強くお勧めします。プラグインを使用すると、ローカル環境からHeroku環境にデータを転送するなど、さまざまなことができます。

db:pushdb:pullまた、2つのpostgresデータベース間で転送するだけでは非常に脆弱です。ローカルからリモートに転送するには、次の手順を実行してプラグインをインストールし、データを転送します。

$ heroku plugins:install https://github.com/ddollar/heroku-pg-transfer
$ heroku pg:transfer --from $DATABASE_URL --to HEROKU_POSTGRESQL_JADE_URL

--from $DATABASE_URLフラグは、env変数からローカルdbの場所としてプルし、DATABASE_URLHerokuアプリのHEROKU_POSTGRESQL_JADE_URLデータベースにプッシュすることを示しています。Herokuデータベース名は、次を使用して見つけることができますheroku config

$ heroku config | grep POSTGRES
HEROKU_POSTGRESQL_JADE_URL: postgres://ads8a8d9asd:al82kdau78kja@ec2-23-23-237-0.compute-1.amazonaws.com:5432/resource123
于 2012-09-22T18:23:35.257 に答える
-1

あなたはいくつかのステップを逃したかもしれません。

  1. bundle install

  2. git add .

  3. git commit -m 'your commit message goes here'

  4. git push heroku

  5. heroku run rake db:migrate

また:

  1. sudo gem install heroku

  2. sudo gem install taps

編集:

残りを解決するには:

$ rvm install ruby-1.9.2-p318 $ rvm use ruby-1.9.2-p318 $ heroku db:push

于 2012-09-21T02:13:00.953 に答える