Ubuntu 14.04でRuby on RailsアプリケーションでPostgreSQLを使用する方法

前書き

Ruby on Railsは、デフォルトのデータベースとしてsqlite3を使用します。これは多くの場合うまく機能しますが、アプリケーションには十分ではない場合があります。 アプリケーションで、https://www.digitalocean.com/community/tutorials/sqlite-vs-mysql-などのクライアント/サーバーSQLデータベースによって提供されるスケーラビリティ、集中化、および制御(またはその他の機能)が必要な場合vs-postgresql-a-comparison-of-relational-database-management-systems [PostgreSQL or MySQL]では、いくつかの追加手順を実行して実行する必要があります。

このチュートリアルでは、アプリケーションがUbuntu 14.04サーバー上でPostgreSQLデータベースを使用できるようにする開発用Ruby on Rails環境を設定する方法を示します。 最初に、PostgreSQLのインストールおよび設定方法について説明します。 次に、データベースサーバーとしてPostgreSQLを使用するRailsアプリケーションの作成方法を示します。

前提条件

このチュートリアルでは、動作するRuby on Rails開発環境が必要です。 まだお持ちでない場合は、このリンクのチュートリアルに従ってください:https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-ubuntu -14-04 [Ubuntu 14.04でrbenvを使用してRuby on Railsをインストールする方法]。

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

準備ができたら、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

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

sudo -u postgres psql

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

\password

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

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

\q

次にRailsアプリケーションを作成しましょう。

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

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

cd ~
rails new  -d postgresql

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

cd

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

データベース接続の構成

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

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

vi config/database.yml

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

config / database.ymlの抜粋

 host: localhost
 username:
 password:

保存して終了。

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

次のrakeコマンドを使用して、アプリケーションの + development`および + test`データベースを作成します。

rake db:create

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

この時点でエラーが発生した場合は、前のサブセクション(データベース接続の設定)を再確認して、 + database.yml +`の `+ host ++ username +、および `+ password +`が正しいことを確認してください。 データベース情報が正しいことを確認した後、アプリケーションデータベースを再度作成してください。

テスト構成

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

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

rails server

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

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

rails server --binding=

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

Webブラウザーでアクセスします。

http://:3000

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

結論

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

がんばろう!

Related