返回博客

使用 PostgreSQL 设置 Ruby on Rails

使用 PostgreSQL 设置 Ruby on Rails

在所有可用的数据库引擎中,PostgreSQL 是最受欢迎的数据库引擎之一。它是一个著名的开源数据库系统,以其可靠性、强大的功能和出色的性能而闻名。由于 PostgreSQL 是一个热门选择,几乎所有主流的 Web 框架都支持它。与其竞争对手 MySQL 和 SQLite 类似,PostgreSQL 也有其优缺点.

Ruby on Rails 是一个流行的 Web 框架,使用 Ruby 编写。它是一个与数据库无关的框架,这意味着它可以与各种数据库协同工作。默认情况下,Rails 假定使用 SQL 来实现数据库功能。不过,它也支持 PostgreSQL 集成。

本教程将引导您完成为 Ruby on Rails 应用程序配置 PostgreSQL 的过程.

Ruby on Rails 和 PostgreSQL

PostgreSQL 和 Ruby on Rails 在任何 UNIX/Linux 发行版上都可用。它们应该可以从默认的软件包服务器中获取。

另一种方法是使用 RVM (Ruby Version Manager)。它是一个用于管理 Ruby on Rails 安装的专用工具。这种方法的好处是 RVM 将创建 Ruby on Rails 的本地安装。它还可以管理多个版本的 Ruby 并在它们之间无缝切换。以下是详细介绍 在 Ubuntu 上使用 RVM 安装 Ruby on Rails.

至于 PostgreSQL,请参阅这篇关于 在 Ubuntu 上安装和配置 PostgreSQL.

  • 安装 RVM

得益于 RVM 提供的安装脚本,RVM 的安装过程非常简单。该脚本旨在自动检测 Linux 系统,然后下载并安装所有必需的软件包。我们需要 RVM GPG 密钥来验证软件包。它能确保接收到的软件包没有被欺骗。首先,添加 RVM GPG 密钥:

gpg_recv_keys Ruby on Rails with PostgreSQL

然后,运行 RVM 安装脚本:

install_rvm Ruby on Rails with PostgreSQL

最后,验证安装:

verify_install

  • 安装 Rails

我们现在可以使用 RVM 安装其他组件。使用 RVM 安装 Rails 框架:

gem_install_rails Ruby on Rails with PostgreSQL

  • 安装 PostgreSQL

下一步需要系统上预装有 PostgreSQL。默认情况下,安装 PostgreSQL 最简单的方法是使用默认的包管理器。它适用于所有主流的 Linux 发行版。请查看 PostgreSQL 下载页面 以获取所有可用的安装方法。在 Ubuntu 上,以下命令将配置 PostgreSQL 仓库并立即进行安装:

postgresql_get

add_postgresql_keys

apt_and_postgresql_update Ruby on Rails with PostgreSQL

要启用 PostgreSQL 支持,我们需要安装 pg gem。它允许从 Ruby 代码与 PostgreSQL 进行交互:

gem_install_pg

  • 配置 PostgreSQL

安装完成后,我们将配置项目所需的工具。首先,切换到 PostgreSQL 用户:

访问 PostgreSQL shell:

psql Ruby on Rails with PostgreSQL

在 PostgreSQL 的上下文中,我们现在将创建一个新的 角色 (传统上称为用户)。PostgreSQL 有其自身的 角色和权限 格式。别忘了使用合适的用户名和强密码:

create_role

创建 Rails 应用

指示 Rails 创建一个配置为使用 PostgreSQL 作为数据库的新 Rails 应用:

rails_new_dummy_app

这将创建一个带有应用用户名的新目录。Rails 通常期望数据库的用户名和应用名称相同。下一步是配置 Rails 数据库配置。配置文件位于以下位置:

文件 database.yml 包含描述当前 Rails 环境的合适数据库的数据。顾名思义,它使用 YAML。YAML 是一种适用于所有编程语言的人类友好型数据序列化标准。

默认情况下,Rails 期望为不同的环境使用不同的数据库,例如, development, test,以及 production。这在各种情况下都很有用,例如,每次运行 Rails 测试时,Rails 都会清空并重建 test 数据库。

这是一个示例 database.yml,其中包含 developmenttest 数据库:

db_yaml

现在是使更改生效的时候了。以下命令将准备 中描述的必要数据库database.yml。每个数据库都将拥有自己的用户并具有 schema_migrations 表。该表对于数据和模式迁移是必需的:

如果 PostgreSQL 配置文件 pg_hba.conf 包含不正确的配置,此步骤将失败。该文件位于以下位置:

以下行是目标。身份验证方法不应为 peer,而应为 md5:

修改该行:

pg_hba_conf

要使更改生效,您必须重启 PostgreSQL 服务:

然后,重新运行数据库设置:

rake_db_setup

运行 Rails

运行 Rails 服务器需要以下附加组件。请注意,为此您需要安装 Node.js(带有 yarn):

webpacker_install

Rails 应用现在应该已经准备好启动。启动 Rails 服务器:

rails_server

可以通过以下 URL 访问该服务器。它将跳转到 Rails 欢迎页面:

为了让欢迎页面更有趣,创建一个脚手架:

create_scaffold

rakedb_migrate

最后,启动服务器并再次导航到该 URL。我们现在可以管理文章(创建、编辑和删除文章)。

结语

这是 Ruby on Rails 与 PostgreSQL 的基本设置。有一个官方入门指南 可以帮助您进一步使用 Rails。我们创建的示例应用使用的是 PostgreSQL。这样,您就可以创建任何使用 PostgreSQL 实现其功能的应用。

祝您编程愉快!

author

Pranay Kapgate

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的创意设计师,专注于通过传统和创新营销渠道打造一致的企业形象。他擅长将艺术愿景与战略营销相融合,创造具有影响力的品牌叙事。

评论

暂无评论。发表第一条评论吧。