Skip to content

Commit 0f93e1c

Browse files
committed
dbの設定変更
1 parent 4a03a6f commit 0f93e1c

File tree

6 files changed

+34
-26
lines changed

6 files changed

+34
-26
lines changed

Dockerfile

+8-5
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
FROM node:16-alpine as node
22
ENV NODE_OPTIONS=--openssl-legacy-provider
3+
34
FROM ruby:3.3.1
45
ENV LANG C.UTF-8
56
ENV TZ Asia/Tokyo
67

7-
RUN apt-get update -qq \
8-
&& apt-get install -y ca-certificates curl gnupg \
8+
RUN apt-get update && apt-get install -y build-essential libpq-dev ca-certificates curl gnupg \
99
&& mkdir -p /etc/apt/keyrings \
1010
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
1111
&& NODE_MAJOR=18 \
1212
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
13-
&& wget --quiet -O - /tmp/pubkey.gpg https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
13+
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
1414
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
1515
&& apt-get update -qq \
16-
&& apt-get install -y build-essential default-mysql-client libssl-dev nodejs yarn
16+
&& apt-get install -y nodejs yarn \
17+
&& apt-get clean \
18+
&& rm -rf /var/lib/apt/lists/*
1719

1820
RUN mkdir /recipi_ai_assistant
1921
WORKDIR /recipi_ai_assistant
@@ -29,4 +31,5 @@ RUN yarn install
2931

3032
COPY . /recipi_ai_assistant
3133

32-
CMD ["rails", "server", "-b", "0.0.0.0"]
34+
CMD ["rails", "server", "-b", "0.0.0.0"]
35+

Gemfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ ruby '3.3.1'
66
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main'
77
gem 'rails', '~> 7.1.0'
88
# Use postgresql as the database for Active Record
9-
gem 'mysql2', '~> 0.5'
9+
#gem 'mysql2', '~> 0.5'
10+
gem 'pg'
1011
# Use Puma as the app server
1112
gem 'puma', '~> 5.0'
1213
# Use SCSS for stylesheets

Gemfile.lock

+2-2
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,6 @@ GEM
176176
bigdecimal (~> 3.1)
177177
multipart-post (2.4.1)
178178
mutex_m (0.2.0)
179-
mysql2 (0.5.6)
180179
net-http (0.4.1)
181180
uri
182181
net-imap (0.4.14)
@@ -214,6 +213,7 @@ GEM
214213
rack (>= 1.2, < 4)
215214
snaky_hash (~> 2.0)
216215
version_gem (~> 1.1)
216+
pg (1.5.7)
217217
popper_js (2.11.8)
218218
psych (5.1.2)
219219
stringio
@@ -383,7 +383,7 @@ DEPENDENCIES
383383
jbuilder (~> 2.7)
384384
kaminari
385385
listen (~> 3.3)
386-
mysql2 (~> 0.5)
386+
pg
387387
puma (~> 5.0)
388388
rails (~> 7.1.0)
389389
rails-i18n

config/database.yml

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
default: &default
2-
adapter: mysql2
3-
encoding: utf8mb4
2+
adapter: postgresql
3+
encoding: unicode
44
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
5-
username: root
6-
password: password # Docker Composeで設定したMySQLのrootパスワード
7-
host: db # Docker Composeで定義されたMySQLサービス名
8-
port: 3306
5+
username: postgres
6+
password: password
7+
host: db
8+
port: 5432
99

1010
development:
1111
<<: *default
@@ -19,4 +19,4 @@ production:
1919
<<: *default
2020
database: recipi_ai_assistant_production
2121
username: recipi_ai_assistant
22-
password: <%= ENV['RECIPI_AI_ASSISTANT_DATABASE_PASSWORD'] %>
22+
password: <%= ENV['RECIPI_AI_ASSISTANT_DATABASE_PASSWORD'] %>

db/schema.rb

+8-5
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,16 @@
1111
# It's strongly recommended that you check this file into your version control system.
1212

1313
ActiveRecord::Schema[7.1].define(version: 2024_08_05_045113) do
14-
create_table "categories", charset: "utf8mb4", force: :cascade do |t|
14+
# These are extensions that must be enabled in order to support this database
15+
enable_extension "plpgsql"
16+
17+
create_table "categories", force: :cascade do |t|
1518
t.string "name"
1619
t.datetime "created_at", null: false
1720
t.datetime "updated_at", null: false
1821
end
1922

20-
create_table "favorites", charset: "utf8mb4", force: :cascade do |t|
23+
create_table "favorites", force: :cascade do |t|
2124
t.bigint "user_id", null: false
2225
t.bigint "recipe_id", null: false
2326
t.datetime "created_at", null: false
@@ -26,15 +29,15 @@
2629
t.index ["user_id"], name: "index_favorites_on_user_id"
2730
end
2831

29-
create_table "ingredients", charset: "utf8mb4", force: :cascade do |t|
32+
create_table "ingredients", force: :cascade do |t|
3033
t.string "name"
3134
t.bigint "category_id", null: false
3235
t.datetime "created_at", null: false
3336
t.datetime "updated_at", null: false
3437
t.index ["category_id"], name: "index_ingredients_on_category_id"
3538
end
3639

37-
create_table "recipes", charset: "utf8mb4", force: :cascade do |t|
40+
create_table "recipes", force: :cascade do |t|
3841
t.string "name"
3942
t.integer "cooking_time_minutes"
4043
t.text "ingredients"
@@ -49,7 +52,7 @@
4952
t.string "category"
5053
end
5154

52-
create_table "users", charset: "utf8mb4", force: :cascade do |t|
55+
create_table "users", force: :cascade do |t|
5356
t.string "email", null: false
5457
t.string "crypted_password"
5558
t.string "salt"

docker-compose.yml

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
version: '3'
22
services:
33
db:
4-
image: mysql:5.7
4+
image: postgres:13
55
platform: linux/amd64
66
environment:
77
TZ: Asia/Tokyo
8-
MYSQL_ROOT_PASSWORD: password
8+
POSTGRES_PASSWORD: password
99
volumes:
10-
- mysql_data:/var/lib/mysql
10+
- postgres_data:/var/lib/postgresql/data
1111
ports:
12-
- 3307:3306
12+
- 5433:5432
1313

1414
web:
1515
build: .
@@ -28,6 +28,7 @@ services:
2828
TZ: Asia/Tokyo
2929
SELENIUM_DRIVER_URL: http://chrome:4444/wd/hub
3030
NODE_OPTIONS: --openssl-legacy-provider
31+
DATABASE_URL: postgres://postgres:password@db:5432/recipi_ai_assistant_development
3132
ports:
3233
- "3000:3000"
3334
depends_on:
@@ -41,6 +42,6 @@ services:
4142
- 4444:4444
4243

4344
volumes:
44-
mysql_data:
45+
postgres_data:
4546
bundle_data:
46-
node_modules:
47+
node_modules:

0 commit comments

Comments
 (0)