タイトルの通りwindows10 ruby3環境にPostgresqlデータベースを
設定する手順を記録として残したいと思います。
■前提条件
・PostgresqlがPCにインストールされていること
Windows 10
Ruby 3.0.2
Ruby on Rails 7
■新規プロジェクトで PostgreSQL を使用する場合
下記コマンドを実行しrailsアプリを作成します。
-dオプションをつけることでデータベースをpostgresql
に初期設定することができます。
rails new プロジェクト名 -d postgresql
■既存のプロジェクトで PostgreSQL を使用する場合
すでにrailsアプリがありpostgresqlにデータベースを
変更したい場合はgemfileを下記のように変更します。
(sqlite3からpostgresqlに変更)
中略
gem 'sqlite3', '~> 1.4' # この行をコメントアウト
中略
gem 'pg' # この行を追加
■Ruby3.0 に PostgreSQL をインストール
Ruby2.3 以降の Gem にはデフォルトで PostgreSQL のドライバーが入っ
ていません。そこで手動でインストールする必要があります。
下記コマンドを実行するとドライバーがインストールされます。
ridk exec sh -c "pacman -S ${MINGW_PACKAGE_PREFIX}-postgresql"
インストールを行いますか?と出てきたら y を入力しましょう。これで Gem にインストールされます。
(インストールに時間がかかります)
中略
(15/17) インストール mingw-w64-x86_64-python [#################################] 100%
(16/17) インストール winpty [#################################] 100%
(17/17) インストール mingw-w64-x86_64-postgresql [#################################] 100%
上記の表示がでればインストール完了です。
■bundleinstallする。
下記コマンドを実行しgemfile.lockを更新させます。
bundle install
■database.yml の編集
config/database.yml を開いて下記のように修正する。
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: postgres
password: PostgreSQL をインストールしたときに設定したパスワード
host: localhost
development:
<<: *default
test:
<<: *default
production:
<<: *default