Skip to content

This application is notification infrastructure for membership console.

Notifications You must be signed in to change notification settings

membership-console/reminder

Repository files navigation

Reminder

CI Build version

概要

本プロジェクトは Membership Console の通知基盤です。

開発

開発環境

  • Java OpenJDK 17
  • Spring Boot 3.0
  • MySQL 8.0
  • docker-compose

ビルド方法

ビルドに成功すると、app/build/libs直下に.jarファイルが生成されます。

$ ./gradlew bootJar

起動方法

まず、Docker から MySQL を起動します。

$ docker compose up -d
# 3306 db-local: ローカル用データベース
# 3307 db-test:  テスト用データベース

デフォルトで使用されるポート番号は8081です。-Dserver.port=XXXXオプションを付けることでポート番号を変更できます。

# 1. run .jar file
# -Dspring.profiles.activeを指定しない場合はlocalになる
$ java -jar reminder-<version>.jar  # -Dspring.profiles.active=<environment>

# 2. run on dev environment
$ ./gradlew bootRun

DB マイグレーションとコード生成

DB マイグレーションと ORM には下記ツールを利用しています。

  • Flyway: DB マイグレーションツール
  • MyBatis: ORM フレームワーク

DB マイグレーション

flywayMigrateタスクで DB マイグレーションを実行できます。

$ ./gradlew flywayMigrate

Flyway はマイグレーションファイルのチェックサムをflyway_schema_historyテーブルに保存することで、過去のマイグレーションファイルが書き換えられることを防いでいます。

しかしながら、開発中は書き換えたくなることもあるでしょう。その場合は、下記コマンドで歴史を消すことが可能です。クリーンが完了したら、再度マイグレーションコマンドを実行してください。

$ ./gradlew flywayClean

MyBatis でコード生成

下記コマンドで、DB から Entity ファイルを生成できます。

$ ./gradlew mbGenerate

依存関係のアップデート

Gradle Versions Pluginを使って、outdated な依存関係をアップデートします。

下記コマンドの実行後、出力されたレポートに従ってbuild.gradleに記載されたバージョンを書き換えてください。

$ ./gradlew dependencyUpdates -Drevision=release

About

This application is notification infrastructure for membership console.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages