ステータス: 廃止予定
この記事は廃止予定で、もはやメンテナンスされていません。
理由
現在、個々のプラットフォームに合わせた最新のRailsとPostgresのチュートリアルを提供しています。
代わりに次を参照してください
この記事は引き続き参考になる場合がありますが、動作しない可能性があり、最良のプラクティスに従っていない場合があります。お使いのオペレーティングシステム用に書かれた最新の記事を使用することを強くお勧めします。
はじめに
Postgres(またはPostgreSQL)はオープンソースのデータベースです。Ruby on RailsはRubyで書かれたオープンソースの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