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:
更新 – 20170704
|
heroku pg:backups restore 'https://dl.dropboxusercontent.com/u/??/dumpfile.dump' DATABASE_URL --app 対象のAPP名 |
DATABASE_URL は下記のように取得しました。
Heroku PostgresのDatabase Credentialsをクリックして、Heroku CLIのpostgresql-????-????をつかいました。
更新 – 2016/09/18
|
heroku pg:backups restore 'https://dl.dropboxusercontent.com/u/??/dumpfile.dump' DATABASE_URL --app 対象のAPP名 |
実際にやりたかったことは、ProductionのAPPからStagingのAppにPostgreSQLのDumpをインポートしたかったのですが、HerokuがBackupの方法が変わったので、以前と変わっていたのでメモしておきます。
まず、ProductionのPostgreSQLをDumpしてきます。
その後、それをローカルのPostgreSQLにImportします。
|
pg_restore --verbose --clean --no-acl --no-owner -h localhost -U ユーザ名 -d データベース名 ダンプファイル.dump |
次はそれをpg:pushを使ってHerokuのPostgreSQLにインポートします。
|
heroku pg:push ローカルのデータベース名 対象のAPPのDBURL(HEROKU_POSTGRESQL_色) --app 対象のAPP名 |
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:
今までpgAdmin3を使っていたのですが、これが遅い、落ちるたりするのでなかなか使い勝手がよくなかったのですが、先日Posticoなるものを発見して使い出しましたが、かなり気にいっております。
SSH経由での接続ももちろん可能です
Vagrantの中にあるPostgresなんかにもこれで接続できます
接続後の画面
テーブル内のデータ編集画面
SQLの画面
有料版はFilter機能もあります
詳細
サポートしてPostgreSQLのバージョン
PostgreSQL 8.0, 8.4, 9.1, 9.2, 9.3 9.4、Amazon Redshiftもサポートしているようです。
Posticoはlibpq 9.3.8のパッチをつかっているそうです。
トライアル版と有料版の違い
トライアル版は、お気に入りに5 connectionまでした登録できません。
トライアル版は、1画面でしかしようできなくなっています。
テーブル内の検索機能がありません。()
トライアル版には、期間制限がないので、ずっと使い続けることも可能です。
正直無料版でもよかったのですが、開発者に敬意を示して、ちゃんと有料版を購入しました。
Version Up
Postico v1.0.9 – 2016/08/05
Command + pのQuick Openなるものが追加されていますが、すぐにテーブルに飛べるのでかなり便利です。
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: 8 | Pocket: 6 | Total: 14 | 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