現在アサインしているプロジェクトでは、Springbootを使用しているのですが、設定の中身を理解せずにいじったことで大失敗を犯してしまいました。
大失敗とは何かというと、プロジェクトのDB上のテーブルをほぼ削除してしまうという、とんでもなく恐ろしい事でした。(まぁ、言われた通りにいじっただけなので自分が完全に悪かったというわけではないと思いたい…)
spring.jpa.hibernateとは
application.propertiesファイルに書いて、DBの設定を行うことが出来るものです。 詳しくはまた別記事で纏めようと思います。ここでは一旦、「DBを色々いじれるもの」という理解で良いかと思います。
spring.jpa.hibernate.ddl-auto に設定可能な値
この値では、データベーススキーマ(テーブル)を設定することが出来ます。・none
➙何もしない
・validate
➙検証をする。 しかしデータベースには変更を加えない。
・update
➙アプリケーション起動時に、Entityに対応するテーブルがなければ作成する。
・create
➙アプリケーション作成時に、Entityに対応するテーブルがなければ作成する。 もしあれば、 データを削除する。
・create-drop
➙アプリケーション作成時に、Entityに対応するテーブルがなければ作成する。 セッション終了時にスキーマを削除する。
私は“create-drop”を設定してしまったことで、セッション終了時にテーブルがほとんど消えてしまいました。
一時的にテーブルを作成する場合以外は基本的に"none"を設定するといいかと思います。