Ruby on RailsをPostgresとセットアップする方法

ステータス: 廃止予定

この記事は廃止予定で、もはやメンテナンスされていません。

理由

現在、個々のプラットフォームに合わせた最新のRailsとPostgresのチュートリアルを提供しています。

代わりに次を参照してください

この記事は引き続き参考になる場合がありますが、動作しない可能性があり、最良のプラクティスに従っていない場合があります。お使いのオペレーティングシステム用に書かれた最新の記事を使用することを強くお勧めします。

はじめに


Postgres(またはPostgreSQL)はオープンソースのデータベースです。Ruby on RailsRubyで書かれたオープンソースのWebフレームワークです。Railsはデータベースに依存しないため、さまざまな異なるデータベースと使用できます。デフォルトではMySQLが使用されていると想定していますが、代わりにPostgresを使用するのはかなり簡単です。

このガイドでは、Postgresデータベースを使用するRailsアプリケーションの作成手順を説明します。ガイドはローカルマシンまたはVPSで行うことができます。

必要なもののインストール


RVMを使用してRailsをインストールする

Railsをインストールする最も簡単な方法は、RVMを使用することです。これにより、Rubyもインストールされます。RVMをインストールするには、システムにcurlがインストールされていることを確認する必要があります(これを行う方法はOSによって異なります)。すでにRVMがインストールされている場合は、次のセクションに進んでください。

RVMは、そのインストールの一環として自動的にRubyとRailsをインストールできます。これを行うには、次のコマンドを実行します:

\curl -L https://get.rvm.io | bash -s stable --rails

注意: 実行する前にRVMのインストールスクリプトを確認する必要があります(または、bashにパイプで渡す他のリモートスクリプトを実行する前に)。

RVMはシステムに自体をインストールします。これでRubyのバージョンを管理するためにそれを使用できます。これは、異なるプロジェクトで異なるバージョンのRubyが必要な場合に便利です。RVMはまた、Railsのgemをインストールしました。

RubyGemsを使用してRailsをインストールする

RVMがすでにインストールされている場合、再インストールする必要はありません。代わりに、次のgemをインストールすることでRailsをインストールできます:

gem install rails

これにより、Railsとその他必要なgemがインストールされます。

Postgresのインストール

Postgresのインストール方法は、使用しているOSによって異なります。完全なリストについては、postgresql.org/downloadを参照してください。一般的には、Ubuntuではapt-get、OS XではHomebrewなどのパッケージマネージャーを使用するのが最も簡単です。

ローカルマシンにPostgresをインストールする場合は、GUIもインストールすることを検討するかもしれません(ただし、このガイドではコマンドラインの使用を想定しています)。pgAdminは世界で最も見栄えの良いツールではありませんが、仕事をこなします。

最後に、PostgresとRubyコードのインターフェイスを行うために、pg gemをインストールする必要があります。これを行うには:

gem install pg

Postgresの設定


次のステップで作成するRailsアプリ用のPostgresユーザーを作成します。これを行うには、Postgresユーザーに切り替えます:

su - postgres

その後、Postgresにアクセスします:

psql

次に、ユーザー(またはPostgresが呼ぶところの「ロール」)を作成します:

create role myapp with createdb login password 'password1';

Railsアプリの作成


Postgresに設定されたRailsアプリを作成するには、このコマンドを実行します:

rails new myapp --database=postgresql

これにより、「myapp」という名前のアプリを収める「myapp」というディレクトリが作成されます(コマンドを実行する際には任意の名前を付けることができます)。Railsはデータベースのユーザー名がアプリケーションの名前と一致することを期待していますが、必要に応じて簡単に変更できます。

これで、Railsが接続するデータベースを構成します。これは、database.ymlファイルを使用して行われます。ファイルは次の場所にあります:

RAILS_ROOT/config/database.yml

注意:RAILS_ROOTはRailsのルートディレクトリです。上記の例では、/myappにあります(現在の場所を基準として)。

database.ymlファイルは、Railsが現在のRails環境に適切なデータベースに接続するために使用されます。これはYAML、データの直列化標準を使用しています。ここには、異なる環境(開発、テスト、本番)のためにいくつかのデータベースがリストされています。デフォルトでは、Railsは各環境に異なるデータベースを期待します。これは便利です。たとえば、テストデータベースはRailsテストを実行するたびに空になり、再構築されます。各データベースについて、Postgresユーザーに指定したユーザー名とパスワードが一致することを確認してください。

構成が完了したら、database.ymlには次のような内容が含まれるはずです:

development:
  adapter: postgresql
  encoding: unicode
  database: myapp_development
  pool: 5
  username: myapp
  password: password1

test:
  adapter: postgresql
  encoding: unicode
  database: myapp_test
  pool: 5
  username: myapp
  password: password1

次に、次を実行します:

rake db:setup

これにより、開発およびテストデータベースが作成され、それぞれの所有者が指定されたユーザーに設定され、各データベースに「schema_migrations」テーブルが作成されます。このテーブルは、スキーマとデータへのマイグレーションを記録するために使用されます。

ランニングレール


これでRailsアプリを起動できるはずです:

rails server

localhost:3000に移動すると、Railsのランディングページが表示されるはずです。ただし、これはあまり多くを行いません。データベースとやり取りするために、スキャフォールドを作成しましょう:

rails g scaffold Post title:string body:text
rake db:migrate

今度はlocalhost:3000/postsに移動してください。ここから、新しい投稿を作成したり、既存の投稿を編集したり、投稿を削除したりすることができます。詳細な操作については、Rails入門ガイドを参照してください。

あなたのRailsアプリは今、Postgresデータベースと通信しています!

Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-ruby-on-rails-with-postgres