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を更新します。
- sudo apt-get update
次に、PostgreSQLとその開発ライブラリをインストールします。
- sudo apt-get install postgresql postgresql-contrib libpq-dev
これでPostgreSQLがインストールされましたが、Railsアプリケーションが使用する新しいデータベースユーザーを作成する必要があります。
データベースユーザーの作成
このコマンドを使用してPostgreSQLスーパーユーザーユーザーを作成します(強調表示された単語を独自のユーザー名に置き換えます)。
- sudo -u postgres createuser -s pguser
データベースユーザーのパスワードを設定する場合は、次のコマンドを使用してPostgreSQLコンソールに入ります。
- sudo -u postgres psql
PostgreSQLコンソールは postgres=#
促す。 PostgreSQLプロンプトで、次のコマンドを入力して、作成したデータベースユーザーのパスワードを設定します。
- \password pguser
プロンプトで希望のパスワードを入力し、確認します。
これで、次のコマンドを入力してPostgreSQLコンソールを終了できます。
- \q
それでは、Railsアプリケーションを作成しましょう。
新しいRailsアプリケーションを作成する
ホームディレクトリに新しいRailsアプリケーションを作成します。 使用 -d postgresql
PostgreSQLをデータベースとして設定するオプション。強調表示された単語をアプリケーション名に置き換えてください。
- cd ~
- rails new appname -d postgresql
次に、アプリケーションのディレクトリに移動します。
- cd appname
次のステップは、アプリケーションのデータベース接続を構成することです。
データベース接続の構成
作成したPostgreSQLユーザーは、アプリケーションのテストおよび開発データベースを作成するために使用されます。 アプリケーションに適切なデータベース設定を構成する必要があります。
アプリケーションのデータベース構成ファイルをお気に入りのテキストエディターで開きます。 viを使用します:
- vi config/database.yml
下 default
セクションで、「pool:5」という行を見つけて、その下に次の行を追加します。 次のようになります(強調表示された部分をPostgreSQLユーザーとパスワードに置き換えます)。
host: localhost
username: pguser
password: pguser_password
保存して終了。
アプリケーションデータベースを作成する
アプリケーションを作成します development
と test
このrakeコマンドを使用したデータベース:
- rake db:create
これにより、PostgreSQLサーバーに2つのデータベースが作成されます。 たとえば、アプリケーションの名前が「appname」の場合、「appname_development」および「appname_test」というデータベースが作成されます。
この時点でエラーが発生した場合は、前のサブセクション(データベース接続の構成)に戻って、 host
, username
、 と password
の database.yml
は正しい。 データベース情報が正しいことを確認した後、アプリケーションデータベースの作成を再試行してください。
テスト構成
アプリケーションがPostgreSQLデータベースを使用できることをテストする最も簡単な方法は、それを実行することです。
たとえば、開発環境(デフォルト)を実行するには、次のコマンドを使用します。
- rails server
これにより、ローカルホストのポート3000でRailsアプリケーションが起動します。
Railsアプリケーションがリモートサーバー上にあり、Webブラウザーを介してアクセスしたい場合、簡単な方法は、サーバーのパブリックIPアドレスにバインドすることです。 まず、サーバーのパブリックIPアドレスを検索してから、 rails server
このようなコマンド(強調表示された部分の代わりに使用):
- rails server --binding=server_public_IP
これで、ポート3000のサーバーのパブリックIPアドレスを介してWebブラウザーでRailsアプリケーションにアクセスできるようになります。
http://server_public_IP:3000
「Welcomeaboard」のRubyonRailsページが表示されている場合、アプリケーションは適切に構成されており、PostgreSQLデータベースに接続されています。
結論
これで、Ubuntu 14.04で、データベースとしてPostgreSQLを使用して、RubyonRailsアプリケーションで開発を開始する準備が整いました。
幸運を!