document

herokuのタイムゾーンがアメリカのEC2を使ってるせいで、タイムゾーンを変える必要があった。
herokuのrailsプロジェクトのTZを変えるのは簡単だったが、 のが大変だった。
使ってるpostgresqlの設定を変えるのが、文献なくて大変だった。

1 herokuのtimezone変更

Herokuのタイムゾーンを日本時間に設定する - アインシュタインの電話番号☎ <http://d.hatena.ne.jp/ruedap/20110210/heroku_timezone_japan_jst>

を参考に

$ heroku config:add TZ=Asia/Tokyo
Adding config vars:
 TZ => Asia/Tokyo
Restarting app...done.

2 postgreのtimezone変更

追記注意!!この方法はPGBackupsが使えなくて、よくないらしいとHerokuのサポートに言われた。

I would suggest having your software automatically run SET TIMEZONE at connection start-up to be the most robust approach because of that problem,
but if you must, ALTER ROLE does work.

の方法がいいらしい。

以下ALTER ROLEの方法

set timezone on Heroku servers « Mobile. Web. HTML5. JS. <http://clarkli.wordpress.com/2011/12/29/set-timezone-on-heroku-servers/>

のサイトで書かれている。ALTER ROLE databese_name(youruserid)でできそうだった。
しかし情報が古いせいか、そもそも"heroku pg:info"でdatabese_nameがSHARED_DATABASEとして表示されてしまって,自分のアプリで使ってるdatabese_nameが分からなかった。

2.1 databese_nameを調べる

heroku config

で調べることができる。 出力される

database_name

の箇所がアプリのdatabase_nameである。
(database_nameは正確には、user_idとして使われている)

	rails_name$ heroku config
	=== Config Vars for rails_name_TTTTT
	DATABASE_URL:        postgres://database_name:xxxxxxxxxxxx@yyyyyyyyy.compute-1.amazonaws.com/databese_name
	GEM_PATH:            vendor/bundle/ruby/1.9.1
	LANG:                en_US.UTF-8
	PATH:                bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin
	RACK_ENV:            production
	RAILS_ENV:           production
	RUBY_VERSION:        ruby-1.9.3-p125
	SHARED_DATABASE_URL: postgres://database_name:xxxxxxxxxxxx@yyyyyyyyy.compute-1.amazonaws.com/databese_name
	TZ:                  Asia/Tokyo

2.2 herokuのDBに接続

【Heroku】コマンドラインでDBにアクセスする(rails dbconsole する) - ふわふわRuby on Rails <http://d.hatena.ne.jp/zucay/20120425/1335317587>

を参考に、プラグイン入れて、

$ heroku plugins:install git://github.com/ddollar/heroku-sql-console.git

アプリのディレクトリで

rails_name$ heroku sql
SQL>

とやるとSQLが叩ける

2.3 timezone変更

下記のようにやるとtaimezoneを変えられる

SQL>ALTER ROLE database_name SET timezone = 'Asia/Tokyo';

その他参考リンク

Blog <http://d.hatena.ne.jp/kaosf/20111214/1323876555>

[Heroku] heroku-postgresql:dev の設定方法 | CodeNote?.net <http://codenote.net/heroku/1162.html>

Local Postgres Installation | Heroku Dev Center <https://devcenter.heroku.com/articles/local-postgresql>

Postgres | Heroku Dev Center <https://devcenter.heroku.com/articles/database>

Postgres | Heroku Dev Center <https://devcenter.heroku.com/articles/database#troubleshooting>

What are the permissions for databases and users? | Heroku Dev Center <https://devcenter.heroku.com/articles/heroku-postgres-permissions>

ロールの変更 - ロール(ユーザー)の作成 - PostgreSQLの使い方 <http://www.dbonline.jp/postgresql/role/index6.html>

Configuration and Config Vars | Heroku Dev Center <https://devcenter.heroku.com/articles/config-vars>

Does Heroku support `rails dbconsole`? - Stack Overflow <http://stackoverflow.com/questions/9143488/does-heroku-support-rails-dbconsole>

ddollar/heroku-sql-console · GitHub? <https://github.com/ddollar/heroku-sql-console>

【Heroku】コマンドラインでDBにアクセスする(rails dbconsole する) - ふわふわRuby on Rails <http://d.hatena.ne.jp/zucay/20120425/1335317587>

herokuのアプリをgit cloneする <http://www.tan-yuki.info/blog/page/heroku%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92git-clone%E3%81%99%E3%82%8B/>

[Heroku]タイムゾーンを設定する - func09 <http://www.func09.com/wordpress/archives/951>


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-07-31 (火) 20:46:28 (2457d)