1

この質問に対するいくつかの回答を見てきましたが、どれもうまくいかないようです。うっかり2回走ってしまいましheroku run rake db:seedた。そして、私のデータベースには二重の日付があります。したがって、テーブルを削除し、再移行してシードを再度実行したいと思います (今回は ;)) これまでに見たソリューションでは、実行するように指示されています:heroku pg:reset SHARED_DATABASEまたはheroku pg:reset SHARED_DATABASE --confirm <myAppName>. どちらも機能しません。私が得るエラーはこれです:

    heroku pg:reset SHARED_DATABASE
/usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/pg_resolver.rb:125:in `parse_config': undefined method `each' for nil:NilClass (NoMethodError)
    from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/pg_resolver.rb:116:in `parse_config'
    from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/pg_resolver.rb:79:in `initialize'
    from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/pg_resolver.rb:34:in `new'
    from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/pg_resolver.rb:34:in `resolve_db'
    from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/command/pg.rb:70:in `reset'
    from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/lib/heroku/command.rb:114:in `run'
    from /usr/local/lib/ruby/gems/1.9.1/gems/heroku-2.8.0/bin/heroku:14:in `<top (required)>'
    from /usr/local/bin/heroku:19:in `load'
    from /usr/local/bin/heroku:19:in `<main>'

私がしたいのは、テーブルを削除してから、シード データを再入力できるようにすることだけです。どんな助けでも大歓迎です。

4

4 に答える 4

0

Herokuからデータベース変数の名前を取得する方法は、を実行することheroku config | grep POSTGRESQLです。これにより、変数の名前とそのURLが出力されます。次に、移動してデータベースを削除できますheroku pg:reset <DATABASE>heroku pg:reset HEROKU_POSTGRESQL_CHARCOAL_URLたとえば、たとえば)。これで、データベースを再度移行して、通常の方法でデータを取り込むことができるようになります。

于 2013-01-26T10:17:28.317 に答える
0

うまくいくように見える答えを見つけました。これheroku run rake db:rollbackで、テーブルを削除してから、データを移行して再シードすることができました。ご入力いただきありがとうございます。

于 2013-01-25T22:26:25.030 に答える
0

heroku コンソールに移動して、シード データを削除するだけです。

heroku run console

そして、テーブル内のすべてのアイテムを削除します。

于 2013-01-25T17:42:44.153 に答える
0

これheroku pg:resetは正しいコマンドですが、古いバージョンの gem を使用している場合は、アップグレードすることをお勧めします。また、最新の Postgres スタックでは、SHARED_DATABASE 構成変数は存在しません。Heroku のドキュメントによると、コマンドはheroku pg:reset DATABASE.

于 2013-01-25T20:17:35.677 に答える