HerokuでPostgreSQLを設定・利用準備
はじめに
HerokuでデータベースをPostgreSQLにするにはどうすれば良いのでしょう?
PostgreSQLを導入し、webアプリに設定する方法を紹介します。
目次
1, PostgreSQLの導入
下記ページからHerokuにログインしてインストールしてください。
Heroku Postgres - Add-ons - Heroku Elements
10,000レコードまで等の制約内において、無料で利用可能です。
詳細は上記ページの「Plans & Pricing」を参照してください。
2, PostgreSQLのユーザ情報確認
webアプリのデータベースをPostgreSQLにするため、詳細を確認しましょう。
1, まず、先ほど導入したPostgreSQLのページに飛びます (赤色の丸をクリック)。
2, 次に、Credential画面に飛びます (右側の赤色の四角をクリック)。
3, 最後に、Heroku CLI以外の6項目を確認します (赤色の下線)。
3, webアプリのデータベースを設定
参考にさせて頂いたwebアプリ開発のテンプレートを基に紹介します。
※ 参考にしたテンプレートについては、こちらをご覧ください。 cream-kuchen.hatenablog.com
テンプレートの「Config」フォルダ配下にある「settings.py」を修正します。
【修正前】
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
【修正後】
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': '[確認したURI]', 'USER': '[確認したUser]', 'PASSWORD': '[確認したPassword]', 'HOST': '[確認したHost]', 'PORT': '', } }
※ 大括弧 [確認した ...] の中を書き換えてください。
4, モデルのデータベース利用準備
テーブルの読み・書き・削除のためにモデルファイルにも変数を設定してください。
connection_config = { 'user': '[確認したUser]', 'password': '[確認したPassword]', 'host': '[確認したHost]', 'port': '[確認したPort]', 'database': '[確認したDatabase]' }
※ 大括弧 [確認した ...] の中を書き換えてください。
また、上記変数を用いたテーブルの操作方法は、下記の記事を参照してください。
cream-kuchen.hatenablog.com
5, 注意:ユーザ情報の環境変数化
ユーザ情報をプログラムにベタ書きすることは、セキュリティ上懸念がありませんか?
Gitでコードを公開している(したい)場合、見られてしまうのは困りますよね。
こちらの記事を参考に設定してみてください。
cream-kuchen.hatenablog.com
おわりに
HerokuでデータベースをPostgreSQLにするため、導入・設定する方法を紹介しました。
テンプレのSQliteでは嫌っ!という方の参考になれば幸いです。