如何使用PostgreSQL与你的Ruby on Rails的在Ubuntu 14.04的应用

Ruby on Rails的使用sqlite3的作为其默认的数据库,其工作在许多情况下伟大的,但可能无法满足您的应用程序。如果应用程序需要的可扩展性,集中化,并且由客户机/服务器SQL数据库报价提供的控制(或任何其他功能),本教程将告诉你如何做到这一点,在PostgreSQL,在Ubuntu 14.04。

介绍

Ruby on Rails使用sqlite3作为其默认数据库,它在许多情况下运行良好,但可能不足以满足您的应用程序。 如果应用程序需要的可扩展性,集中化,并且由客户机/服务器SQL数据库,如提供的控制(或任何其它功能) 的PostgreSQL或MySQL ,则需要进行一些额外的步骤让它运行起来。

本教程将向您展示如何设置开发Ruby on Rails环境,使您的应用程序在Ubuntu 14.04服务器上使用PostgreSQL数据库。 首先,我们将介绍如何安装和配置PostgreSQL。 然后,我们将向您展示如何创建一个使用PostgreSQL作为其数据库服务器的rails应用程序。

先决条件

本教程要求有一个工作的Ruby on Rails开发环境。 如果你还没有,你可以按照这个链接教程: 如何在Ubuntu 14.04与rbenv安装Ruby on Rails的

您还需要有机会获得超级用户或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部分中,找到写着“池:5”的路线,并在其添加以下行。 它应该看起来像这样(用PostgreSQL用户和密码替换突出显示的部分):

config / database.yml摘录
  host: localhost
  username: pguser
  password: pguser_password

保存并退出。

创建应用程序数据库

创建应用程序的developmenttest使用该rake命令数据库:

rake db:create

这将在您的PostgreSQL服务器中创建两个数据库。 例如,如果应用程序的名称是“appname”,它将创建名为“appname_development”和“appname_test”的数据库。

如果你在这一点上得到一个错误,重温以前的第(配置数据库连接),以确保该hostusernamepassworddatabase.yml是正确的。 在确保数据库信息正确后,请尝试重新创建应用程序数据库。

测试配置

测试应用程序是否能够使用PostgreSQL数据库的最简单方法是尝试运行它。

例如,要运行开发环境(默认),请使用以下命令:

rails server

这将启动您的本地主机上的Rails应用程序在端口3000。

如果您的Rails应用程序在远程服务器上,并且您想通过Web浏览器访问它,一个简单的方法是将其绑定到您的服务器的公共IP地址。 首先,看看您的服务器的公网IP地址,然后用使用rails server像这样(用它替换高亮的部分)的命令:

rails server --binding=server_public_IP

现在您应该能够通过服务器在端口3000上的公共IP地址在Web浏览器中访问您的Rails应用程序:

在网络浏览器中访问:
http://server_public_IP:3000

如果您看到“欢迎加载”Ruby on Rails页面,您的应用程序已正确配置,并连接到PostgreSQL数据库。

结论

现在您已准备好在Ruby on Rails应用程序上开始开发,在PostgreSQL作为数据库,在Ubuntu 14.04!

祝你好运!