環境
- Java 11.0.2
- Spring Boot 2.2.0
- データベース MySQL 8.0.18
はじめに
'schema.sql'にDBのテーブル情報を定義したのですが、レコードの内容を表示する際にエラーが出てしまう。
アプリの起動は出来ているのでDBとの接続が原因ではない。おかしいなぁとDBを確認したらテーブルが作成されていませんでした。
解決方法
YAMLファイルにDB初期化の設定を追加したら無事にテーブルが作成されました。
application.yml
spring:
datasource:
initialization-mode: always
url: jdbc:mysql://localhost:3306/springboot-db?autoReconnect=true&useSSL=false&
serverTimezone=UTC
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
SQLファイルを使ったDBを初期化する場合は以下の設定を追加する必要があるのですね。
spring.datasource.initialization-mode=always