返回部落格

使用 PostgreSQL 設定 Ruby on Rails

使用 PostgreSQL 設定 Ruby on Rails

在所有可用的資料庫引擎中,PostgreSQL 是最受歡迎的資料庫引擎之一。它是一個著名的開源資料庫系統,以其可靠性、強大的功能和效能而聞名。由於 PostgreSQL 是一個熱門的選擇,幾乎所有主流的網頁框架都支援它。與其競爭對手 MySQL 和 SQLite 類似,PostgreSQL 也有其優缺點.

Ruby on Rails 是一個熱門的網頁框架,使用 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 的環境中,我們現在將建立一個新的 role (傳統上稱為使用者)。PostgreSQL 有其專屬的 roles and permissions。請務必使用合適的使用者名稱和強密碼:

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 資料表。此資料表對於資料和結構描述(schema)遷移是必需的:

如果 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 的首頁:

為了讓首頁更豐富,建立一個 scaffold:

create_scaffold

rakedb_migrate

最後,啟動伺服器並再次導覽至該 URL。我們現在可以管理文章(建立、編輯和刪除文章)。

結語

這是 Ruby on Rails 搭配 PostgreSQL 的基本設定。有一個官方入門指南可以協助您進一步利用 Rails。我們建立的範例應用程式使用 PostgreSQL。如此一來,您就可以建立任何使用 PostgreSQL 來實現其功能的應用程式。

祝您開發愉快!

author

Pranay Kapgate

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的創意設計師,專注於透過傳統與創新行銷渠道建立一致的企業形象。他擅長將藝術願景與策略行銷相融合,創造具有影響力的品牌敘事。

留言

目前尚無留言。成為第一個留言的人吧。