niki12260714の日記

フリーランスのITエンジニアの呟き。

AWS Cloud9でPostgreSQLを使ったrailsプロジェクトを立ち上げる

画面設計、DB設計に着手したんで、本格的に開発環境を整えていきます。
ということで、sqliteではなく、PostgreSQLを使って開発することになりましたので、その設定。
例によって、自分メモです。
参考にしたのはこちら。

qiita.com

お手本通り、コマンドを打っていきます。
PostgreSQLの本家サイトに行くと、最新バージョンが「10.4」になっているので、それを入れるべきだと思ったんですが、「sudo yum -y install postgresql94」青字のバージョン指定の番号が「104」だと「そんなパッケージ無いよ」って怒られたので、書き方分からずに、お手本に従いました。
まぁ必要になればアップデートすればよい話!

「sudo yum -y install postgresql94」←ポスグレのインストール
「sudo yum -y install postgresql94-devel」←ポスグレの開発環境のインストール
「sudo yum -y install postgresql94-server」←ポスグレサーバーのインストール
psql --version」←ポスグレが入ったか、ポスグレのバージョン確認

「sudo /etc/init.d/postgresql94 initdb」←ポスグレの初期化
「sudo /etc/init.d/postgresql94 start」←ポスグレの開始

「sudo -u postgres psql」←ポスグレに接続
  「postgres=# alter role postgres with password 'hogehoge';」←青字のところはポスグレに入ってますよの表示、実際に打つのはalterから。postgresロールのパスワードを任意に変更
  「postgres=# create database [database_name] owner [user_name];」←DB作成
        「postgres=# \q」←ポスグレから抜ける

※お手本だと次にconfファイルを書き換えていますが、これが見つからなかったので一旦棚上げ
→2018/5/21追記:ここを書き換えていないとrake dbが失敗します。リカバリーについてはこちら。

AWS Cloud9でPostgreSQLに対しrake db:migrateが失敗する - niki12260714の日記

次にRailsアプリを作成します

rails new myapp -d postgresql

出来たフォルダの中から「/config/database.yml」を開くと、「adapter:postgresql」となっているので、ポスグレ接続設定はできている模様。
なので、デフォルト接続のところに、DB接続のロール名とパスワードを記載しておきました。
以上終了。
あとは実際に作っていきます。