状态:已弃用
本文已弃用,不再维护。
原因
我们现在提供最新的教程,针对不同平台使用 Rails 与 Postgres。
请参考
本文仍可作为参考,但可能无法正常工作或遵循最佳实践。我们强烈建议使用针对您所使用操作系统的最近文章。
介绍
Postgres(或 PostgreSQL)是一个开源数据库。 Ruby on Rails是一个用Ruby编写的开源Web框架。Rails是数据库无关的,这意味着它可以与各种不同的数据库一起使用。默认情况下,它假设正在使用MySQL,但很容易改用Postgres。
本指南将指导您创建一个使用Postgres数据库的Rails应用程序。您可以在本地计算机或 VPS 上按照该指南操作。
安装要求
使用 RVM 安装 Rails
安装 Rails 最简单的方法是使用 RVM,它也会安装 Ruby。要安装 RVM,您需要确保系统已安装 curl(如何安装取决于您的操作系统)。如果您已经安装了 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的方法取决于您的操作系统。请参阅 postgresql.org/download 以获取完整列表。通常,在Ubuntu上使用apt-get或在OS X上使用Homebrew等包管理器最容易。
如果您要在本地计算机上安装Postgres,您可能还希望安装一个图形用户界面(尽管本指南假定使用命令行)。pgAdmin虽然不是世界上最好看的工具,但它能胜任工作。
最后,您需要安装pg gem,以便您可以从Ruby代码与Postgres进行交互。要执行此操作:
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将要连接的数据库。这是通过位于:
RAILS_ROOT/config/database.yml
的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应用程序了:
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