🐶
SpringBootでschema.sqlが実行されなかった原因
SpringBootを使用してCRUDアプリを作成しているときにエラーが出ました。
mysqlには接続できているし、databaseの作成も確認済み。
サーバー起動時にエラーも起こらずに起動できている。
結果として何が起こっていたのか
tableが存在しませんというエラーが出ていました。
DROP TABLE IF EXISTS test_table;
CREATE TABLE test_table
(
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
old INT NOT NULL,
PRIMARY KEY(id)
);
schema.sqlで初期tableを作成していたので、おそらくここのschema.sqlが動いていないとわかりました。
ここの起動の設定はapplication.ymlで書いているのでここが原因の元です。
sql:
init:
mode: always
このsql.init.mode=alwaysの書き忘れが原因だった。
これは、初期化を実行するかどうかを決める設定らしいです。
Discussion