AD:
こんな感じで、masterでなく、branch_name_hogeをpushします。
|
git push heroku branch_name_hoge:master |
その後、別のbranch(branch_name_hoge2)でpushしたくなって、下記のようにpushします。
|
git push heroku branch_name_hoge2:master |
でも、pushするまえに、一回Pullしてよとか、言われる場合があります。
そんな時は-fを入れて強制的にpushすればOkです。
|
git push heroku branch_name_hoge2:master -f |
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 0
AD:
いろいろなやり方があるとは思うのですが、僕は下記のやり方で対応しました。
1.ローカルのデータをInsert文でDumpする
|
pg_dump -d your_database -t table_nme > specific_table_dump.sql --inserts |
–insertsの引数なしだとPostgresはCOPY文で出されるので、それだとHerokuに移す場合面倒なので、入れています。
2.HerokuのDBへPgAdminなどでつなげる
3.あとは上で作ったファイルをSQLを実行して終了
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 1 | Total: 1 | Feedly: 0
AD:
error内容
|
heroku run:detached rake db:migrate cannot load such file -- debugger |
heroku run rake db:migrateが上記ののようなerrorを返してきたので、よくよく考えてみるとTasks内にrequire ‘debugger’があったのを思い出しました。
解決方法
単純にrequire ‘debugger’をコメントアウトで解決
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 0
AD:
HerokuのPostgresにローカルのpgAdminなどで直接アクセスしたい場合
|
$ heroku config --app appの名前 | grep HEROKU_POSTGRESQL HEROKU_POSTGRESQL_色_URL: postgres://ユーザ名:パスワード@サーバ名:ポート/データベース |
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 0
AD:
Gemの指定
ローカルのGem
|
gem 'activeadmin', :git => 'git@github.com:gregbell/active_admin.git' |
HerokuのGem
|
gem 'activeadmin', github: 'gregbell/active_admin' |
もしローカルで、Herokuの指定方法だと、下記の用にcloneエラーがでてしまいます。
|
Retrying git clone 'git://github.com/gregbell/active_admin.git' "/home/vagrant/.rbenv/versions/2.0.0-p481/lib/ruby/gems/2.0.0/cache/bundler/git/active_admin-d67faab65e9b74efbc8efb4a777a851e9f78b2ca" --bare --no-hardlinks --quiet due to error (2/3): Bundler::Source::Git::GitCommandError Git error: command `git clone 'git://github.com/gregbell/active_admin.git' "/home/vagrant/.rbenv/versions/2.0.0-p481/lib/ruby/gems/2.0.0/cache/bundler/git/active_admin-d67faab65e9b74efbc8efb4a777a851e9f78b2ca" --bare --no-hardlinks --quiet` in directory /vagrant/??? has failed. |
地味に悩んだのですが、 git://をhttpsに変換するように、configに追加するようにして、herokuと同じ指定方法で動くようになりました。
|
git config --global url."https://".insteadOf git:// |
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 0
AD:
Herokuにて、Deploy後に、rake migrateするとエラーで進めなかったのでメモしておきます。
状況
|
$ heroku run rake db:migrate --app appName --trace rake aborted! undefined method `[]' for nil:NilClass /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/tasks/database_tasks.rb:136:in `purge' /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/railties/databases.rake:361:in `block (3 levels) in <top>' </top> |
解決するまでにやったこと
Heroku Postgresを使用しているんですが、作成したものを一度削除し、再度作成しなおしました。
この時点で、エラー内容が変わりました。
|
$ heroku run rake db:migrate --app appName --trace FATAL: role "roleName" is not permitted to log in (PG::Error) |
configで確認するとDATABASE_URLするとHEROKU_POSTGRESQL_カラー_URLが違っていました。
|
$ heroku config --app appName DATABASE_URL: postgres://(AWSの接続) HEROKU_POSTGRESQL_カラー_URL: postgres://(AWSの接続) $ heroku pg:promote HEROKU_POSTGRESQL_カラー_URL --app appName |
この時点では、結局同じエラー”`[]’ for nil:NilClass”になりました。
最後にheroku restartしてPostgreSQLもrestartして接続ができるようになりましたー
でも、どうして、起きたのかはイマイチ不明。。。。
|
$ heroku restart --app appName --trace $ heroku pg:reset --app appName --trace |
ほかにもいろいろとPaaSのサービスを使用しているんですが、こういう時にBlackBox化するので、やっかいですねー
ちなみに、ログはpapertrailを使用しているんですが、今回の状況だとログをみても原因が追求できませんでした。
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 1 | Total: 1 | Feedly: 0