開発者ドキュメント

Ubuntu14.04のRubyonRailsアプリケーションでPostgreSQLを使用する方法

序章

Ruby on Railsはデフォルトのデータベースとしてsqlite3を使用します。これは多くの場合うまく機能しますが、アプリケーションには不十分な場合があります。 アプリケーションで、PostgreSQLやMySQLなどのクライアント/サーバーSQLデータベースによって提供されるスケーラビリティ、集中化、および制御(またはその他の機能)が必要な場合は、次のいくつかの追加手順を実行する必要があります。それを起動して実行します。

このチュートリアルでは、Ubuntu14.04サーバー上でアプリケーションがPostgreSQLデータベースを使用できるようにする開発用RubyonRails環境をセットアップする方法を示します。 最初に、PostgreSQLをインストールして構成する方法について説明します。 次に、データベースサーバーとしてPostgreSQLを使用するRailsアプリケーションを作成する方法を示します。

前提条件

このチュートリアルでは、RubyonRails開発環境が機能している必要があります。 まだお持ちでない場合は、次のリンクのチュートリアルに従ってください: Ubuntu14.04でrbenvを使用してRubyonRailsをインストールする方法。

また、スーパーユーザーにアクセスできる必要があります。 sudo、アカウント。PostgreSQLデータベースソフトウェアをインストールできます。

準備ができたら、PostgreSQLをインストールしましょう。

PostgreSQLをインストールする

PostgreSQLをまだインストールしていない場合は、今すぐインストールしましょう。

まず、apt-getを更新します。

  1. sudo apt-get update

次に、PostgreSQLとその開発ライブラリをインストールします。

  1. sudo apt-get install postgresql postgresql-contrib libpq-dev

これでPostgreSQLがインストールされましたが、Railsアプリケーションが使用する新しいデータベースユーザーを作成する必要があります。

データベースユーザーの作成

このコマンドを使用してPostgreSQLスーパーユーザーユーザーを作成します(強調表示された単語を独自のユーザー名に置き換えます)。

  1. sudo -u postgres createuser -s pguser

データベースユーザーのパスワードを設定する場合は、次のコマンドを使用してPostgreSQLコンソールに入ります。

  1. sudo -u postgres psql

PostgreSQLコンソールは postgres=# 促す。 PostgreSQLプロンプトで、次のコマンドを入力して、作成したデータベースユーザーのパスワードを設定します。

  1. \password pguser

プロンプトで希望のパスワードを入力し、確認します。

これで、次のコマンドを入力してPostgreSQLコンソールを終了できます。

  1. \q

それでは、Railsアプリケーションを作成しましょう。

新しいRailsアプリケーションを作成する

ホームディレクトリに新しいRailsアプリケーションを作成します。 使用 -d postgresql PostgreSQLをデータベースとして設定するオプション。強調表示された単語をアプリケーション名に置き換えてください。

  1. cd ~
  2. rails new appname -d postgresql

次に、アプリケーションのディレクトリに移動します。

  1. cd appname

次のステップは、アプリケーションのデータベース接続を構成することです。

データベース接続の構成

作成したPostgreSQLユーザーは、アプリケーションのテストおよび開発データベースを作成するために使用されます。 アプリケーションに適切なデータベース設定を構成する必要があります。

アプリケーションのデータベース構成ファイルをお気に入りのテキストエディターで開きます。 viを使用します:

  1. vi config/database.yml

default セクションで、「pool:5」という行を見つけて、その下に次の行を追加します。 次のようになります(強調表示された部分をPostgreSQLユーザーとパスワードに置き換えます)。

config/database.ymlの抜粋
  host: localhost
  username: pguser
  password: pguser_password

保存して終了。

アプリケーションデータベースを作成する

アプリケーションを作成します developmenttest このrakeコマンドを使用したデータベース:

  1. rake db:create

これにより、PostgreSQLサーバーに2つのデータベースが作成されます。 たとえば、アプリケーションの名前が「appname」の場合、「appname_development」および「appname_test」というデータベースが作成されます。

この時点でエラーが発生した場合は、前のサブセクション(データベース接続の構成)に戻って、 host, username、 と passworddatabase.yml は正しい。 データベース情報が正しいことを確認した後、アプリケーションデータベースの作成を再試行してください。

テスト構成

アプリケーションがPostgreSQLデータベースを使用できることをテストする最も簡単な方法は、それを実行することです。

たとえば、開発環境(デフォルト)を実行するには、次のコマンドを使用します。

  1. rails server

これにより、ローカルホストのポート3000でRailsアプリケーションが起動します。

Railsアプリケーションがリモートサーバー上にあり、Webブラウザーを介してアクセスしたい場合、簡単な方法は、サーバーのパブリックIPアドレスにバインドすることです。 まず、サーバーのパブリックIPアドレスを検索してから、 rails server このようなコマンド(強調表示された部分の代わりに使用):

  1. rails server --binding=server_public_IP

これで、ポート3000のサーバーのパブリックIPアドレスを介してWebブラウザーでRailsアプリケーションにアクセスできるようになります。

Webブラウザでアクセスします。
http://server_public_IP:3000

「Welcomeaboard」のRubyonRailsページが表示されている場合、アプリケーションは適切に構成されており、PostgreSQLデータベースに接続されています。

結論

これで、Ubuntu 14.04で、データベースとしてPostgreSQLを使用して、RubyonRailsアプリケーションで開発を開始する準備が整いました。

幸運を!

モバイルバージョンを終了