📜  如何在 Rails 应用中实现 PostgreSQL 数据库?(1)

📅  最后修改于: 2023-12-03 15:24:21.444000             🧑  作者: Mango

在 Rails 应用中实现 PostgreSQL 数据库

介绍

PostgreSQL 是一种功能丰富、开源的 SQL 数据库管理系统,它是许多企业级应用程序的首选数据库。在 Rails 应用中使用 PostgreSQL 作为数据存储方式,可以获得更高的性能、更好的可扩展性、更好的稳定性和更高的数据安全性。

如何在 Rails 应用中实现 PostgreSQL 数据库?
步骤一:安装 Postgres

在使用 PostgreSQL 之前,您需要在本地计算机上安装它。您可以从 PostgreSQL 官网 下载最新版本的 Postgres。

步骤二:创建 Rails 应用程序

使用以下命令创建一个新的 Rails 应用程序:

rails new myapp --database=postgresql

此命令将创建一个名为 “myapp” 的新应用程序,并将默认数据库设置为 PostgreSQL。

步骤三:配置数据库连接

在默认情况下,Rails 应用程序将使用 SQLite 作为开发数据库。因此,在使用 PostgreSQL 之前,您需要更新数据库设置以连接到 PostgreSQL 数据库。

在 Rails 应用程序中,数据库连接设置存储在 config/database.yml 文件中。打开该文件,并将以下代码添加到 database.yml 文件中:

default: &default
  adapter: postgresql
  encoding: unicode
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  host: localhost
  username: <%= ENV['POSTGRES_USER'] %>
  password: <%= ENV['POSTGRES_PASSWORD'] %>

development:
  <<: *default
  database: myapp_development

test:
  <<: *default
  database: myapp_test

production:
  <<: *default
  url: <%= ENV['DATABASE_URL'] %>

在上面的代码中,host 是连接到 Postgres 数据库的主机名,它默认为本地主机。usernamepassword 表示连接 PostgreSQL 数据库时使用的用户名和密码。在此处,我使用环境变量 POSTGRES_USERPOSTGRES_PASSWORD 来保存用户名和密码。

如果您的 PostgreSQL 安装在远程服务器上,则需要将 host 更改为您服务器的 IP 地址或域名,并使用正确的用户名和密码。

步骤四:创建数据库

在连接到 Postgres 数据库之前,您需要创建一个新的数据库。您可以使用以下命令在 PostgreSQL 中创建一个新的数据库:

createdb myapp_development

执行此命令后,将在 PostgreSQL 中创建一个名为 “myapp_development” 的新数据库。请确保使用正确的数据库名称。

步骤五:测试数据库连接

在更新了数据库设置并创建了 PgSQL 数据库之后,我们可以使用以下命令测试数据库的连接:

rails db:migrate

这将运行 pending 的数据库迁移(migration)并更新数据库模式。如果您能够成功地执行此命令,则表示您已成功连接到 PostgreSQL 数据库。

步骤六:尝试一些基本的数据库操作

在使用 PostgreSQL 数据库之前,您需要使用 Active Record 模型创建相应的表。在 Rails 应用程序中,您可以使用以下命令创建一个新的模型:

rails generate model User name:string email:string

这涉及到生成一个名为 User 的新模型,并为其添加两个属性 nameemail

然后,您可以使用以下命令将模型的迁移应用到数据库中:

rails db:migrate

运行此命令后,将在 PostgreSQL 中创建一个名为 “users” 的新表。

现在,您可以使用 ActiveRecord 模型访问数据。以下是一些基本的操作:

# 创建新的用户
User.create(name: 'John', email: 'john@example.com')

# 查找第一个用户
User.find(1)

# 更新用户信息
user = User.find(1)
user.update(name: 'Mary')

# 删除用户
user = User.find(1)
user.destroy
总结

在本文中,我们介绍了如何在 Rails 应用中实现 PostgreSQL 数据库。我们提供了一些基本步骤和操作,以帮助您开始使用 PostgreSQL 作为您的应用程序的主要数据存储方式。如果您想了解更多细节和深入探索 PostgreSQL 的功能和用法,请访问 PostgreSQL 官方网站。