From afc71221b16fcd612722090dddb33339e97ae78c Mon Sep 17 00:00:00 2001 From: haerong22 Date: Sun, 23 Jul 2023 20:45:51 +0900 Subject: [PATCH] #38 hexagonal: docker-compose --- bobby-pay/.env | 6 +++ bobby-pay/.gitignore | 1 + bobby-pay/db/conf.d/my.cnf | 0 bobby-pay/db/initdb.d/create_table.sql | 27 +++++++++++++ bobby-pay/db/initdb.d/load_data.sql | 0 bobby-pay/docker-compose.yml | 39 +++++++++++++++++++ bobby-pay/membership-service/build.gradle | 3 +- .../src/main/resources/application.yml | 30 +++++++------- 8 files changed, 90 insertions(+), 16 deletions(-) create mode 100644 bobby-pay/.env create mode 100644 bobby-pay/.gitignore create mode 100644 bobby-pay/db/conf.d/my.cnf create mode 100644 bobby-pay/db/initdb.d/create_table.sql create mode 100644 bobby-pay/db/initdb.d/load_data.sql create mode 100644 bobby-pay/docker-compose.yml diff --git a/bobby-pay/.env b/bobby-pay/.env new file mode 100644 index 00000000..468af58a --- /dev/null +++ b/bobby-pay/.env @@ -0,0 +1,6 @@ +MYSQL_HOST=localhost +MYSQL_PORT=3306 +MYSQL_ROOT_PASSWORD=rootpassword +MYSQL_DATABASE=bobby_pay +MYSQL_USER=mysqluser +MYSQL_PASSWORD=mysqlpw \ No newline at end of file diff --git a/bobby-pay/.gitignore b/bobby-pay/.gitignore new file mode 100644 index 00000000..b8069f7f --- /dev/null +++ b/bobby-pay/.gitignore @@ -0,0 +1 @@ +db/data/ \ No newline at end of file diff --git a/bobby-pay/db/conf.d/my.cnf b/bobby-pay/db/conf.d/my.cnf new file mode 100644 index 00000000..e69de29b diff --git a/bobby-pay/db/initdb.d/create_table.sql b/bobby-pay/db/initdb.d/create_table.sql new file mode 100644 index 00000000..35cb12e7 --- /dev/null +++ b/bobby-pay/db/initdb.d/create_table.sql @@ -0,0 +1,27 @@ +CREATE DATABASE IF NOT EXISTS bobby_pay; +USE bobby_pay; + +-- for Axon Framework (for Mismatching of Axon and Mysql) +create table IF NOT EXISTS dead_letter_entry ( + dead_letter_id varchar(255) not null, + cause_message varchar(255), + cause_type varchar(255), + diagnostics longblob, + enqueued_at datetime not null, + `index` bigint not null, + last_touched datetime, + aggregate_identifier varchar(255), + event_identifier varchar(255) not null, + message_type varchar(255) not null, + meta_data longblob, payload longblob not null, + payload_revision varchar(255), + payload_type varchar(255) not null, + sequence_number bigint, + time_stamp varchar(255) not null, + token longblob, token_type varchar(255), + type varchar(255), + processing_group varchar(255) not null, + processing_started datetime, + sequence_identifier varchar(255) not null, + primary key (dead_letter_id) + ) engine=InnoDB \ No newline at end of file diff --git a/bobby-pay/db/initdb.d/load_data.sql b/bobby-pay/db/initdb.d/load_data.sql new file mode 100644 index 00000000..e69de29b diff --git a/bobby-pay/docker-compose.yml b/bobby-pay/docker-compose.yml new file mode 100644 index 00000000..16befb54 --- /dev/null +++ b/bobby-pay/docker-compose.yml @@ -0,0 +1,39 @@ +version: '3' +services: + mysql: + image: mysql:8.0 + networks: + - bobbypay_network + volumes: + - ./db/conf.d:/etc/mysql/conf.d + - ./db/data:/var/lib/mysql + - ./db/initdb.d:/docker-entrypoint-initdb.d + env_file: .env + ports: + - "3306:3306" + environment: + - TZ=Asia/Seoul + - MYSQL_ROOT_PASSWORD=rootpassword + - MYSQL_USER=mysqluser + - MYSQL_PASSWORD=mysqlpw + + membership-service: + image: bobby-pay-membership-service:1.0.1 + networks: + - bobbypay_network + ports: + - "8081:8080" + depends_on: + - mysql + environment: + - SPRING_DRIVER_CLASS_NAME=com.mysql.cj.jdbc.Driver + - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/bobby_pay?useSSL=false&allowPublicKeyRetrieval=true + - SPRING_DATASOURCE_USERNAME=mysqluser + - SPRING_DATASOURCE_PASSWORD=mysqlpw + - SPRING_JPA_PROPERTIES_HIBERNATE_DIALECT=org.hibernate.dialect.MySQL5InnoDBDialect + - SPRING_JPA_HIBERNATE_DDL_AUTO=update + restart: always + +networks: + bobbypay_network: + driver: bridge \ No newline at end of file diff --git a/bobby-pay/membership-service/build.gradle b/bobby-pay/membership-service/build.gradle index 613414fd..ee2068a8 100644 --- a/bobby-pay/membership-service/build.gradle +++ b/bobby-pay/membership-service/build.gradle @@ -3,7 +3,7 @@ plugins { } group 'org.example.membership' -version '1.0-SNAPSHOT' +version '1.0.1' repositories { mavenCentral() @@ -22,6 +22,7 @@ dependencies { testImplementation 'junit:junit:4.13.1' runtimeOnly 'com.h2database:h2' + runtimeOnly 'mysql:mysql-connector-java' } docker { diff --git a/bobby-pay/membership-service/src/main/resources/application.yml b/bobby-pay/membership-service/src/main/resources/application.yml index 9931deb5..0e923469 100644 --- a/bobby-pay/membership-service/src/main/resources/application.yml +++ b/bobby-pay/membership-service/src/main/resources/application.yml @@ -1,15 +1,15 @@ -# H2 -spring: - datasource: - driver-class-name: org.h2.Driver - url: jdbc:h2:mem:test - username: user - password: - - jpa: - hibernate: - ddl-auto: create-drop - h2: - console: - enabled: true - path: /h2-console \ No newline at end of file +## H2 +#spring: +# datasource: +# driver-class-name: org.h2.Driver +# url: jdbc:h2:mem:test +# username: user +# password: +# +# jpa: +# hibernate: +# ddl-auto: create-drop +# h2: +# console: +# enabled: true +# path: /h2-console \ No newline at end of file