From 1bb7c3b1266a6f2bb260231a1fdab24092851bf4 Mon Sep 17 00:00:00 2001 From: gimhanul Date: Sat, 11 Nov 2023 19:41:43 +0900 Subject: [PATCH] refactor: db migration mysql to postgresql --- build.gradle | 2 +- docker-compose.local.yml | 17 ++++++----------- src/main/resources/application.yml | 17 +++++++---------- 3 files changed, 14 insertions(+), 22 deletions(-) diff --git a/build.gradle b/build.gradle index ecb45cd..8c45ac0 100644 --- a/build.gradle +++ b/build.gradle @@ -25,8 +25,8 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-data-redis' implementation 'org.springframework.cloud:spring-cloud-starter-openfeign:3.1.4' + runtimeOnly 'org.postgresql:postgresql' compileOnly 'org.projectlombok:lombok' - runtimeOnly 'mysql:mysql-connector-java' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework.security:spring-security-test' diff --git a/docker-compose.local.yml b/docker-compose.local.yml index d18163c..7cc442f 100644 --- a/docker-compose.local.yml +++ b/docker-compose.local.yml @@ -1,20 +1,15 @@ version: '3' services: - mysql: + postgresql: container_name: simblue.local.db - image: mysql/mysql-server:5.7 + image: postgres:15-alpine environment: - MYSQL_ROOT_HOST: "%" - MYSQL_USER: "soolung" - MYSQL_PASSWORD: "soolung" - MYSQL_DATABASE: "soolung_simblue" + POSTGRES_USER: "soolung" + POSTGRES_PASSWORD: "soolung" + POSTGRES_DB: "soolung_simblue" ports: - - "3307:3306" - command: - - "mysqld" - - "--character-set-server=utf8mb4" - - "--collation-server=utf8mb4_unicode_ci" + - "5432:5432" redis: image: redis:7.0-alpine diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 7c8c9cd..110ec8c 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -7,25 +7,22 @@ spring: matching-strategy: ant_path_matcher jpa: - database: mysql - database-platform: org.hibernate.dialect.MySQL8Dialect - properties: - hibernate: - dialect: org.hibernate.dialect.MySQL8Dialect + database: postgresql + database-platform: org.hibernate.dialect.PostgreSQLDialect generate-ddl: true hibernate: ddl-auto: validate datasource: - url: jdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_NAME} - driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:postgresql://${DB_HOST}:${DB_PORT}/${DB_NAME} + driver-class-name: org.postgresql.Driver username: ${DB_USERNAME} password: ${DB_PASSWORD} redis: host: ${REDIS_HOST} - port: 6379 + port: ${REDIS_PORT} password: ${REDIS_PASSWORD} cache: @@ -94,8 +91,8 @@ spring: ddl-auto: update datasource: - url: jdbc:mysql://127.0.0.1:3307/soolung_simblue - driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:postgresql://127.0.0.1:5432/soolung_simblue + driver-class-name: org.postgresql.Driver username: soolung password: soolung