Données initiales (seeding)

Pour insérer des données de façon automatique au lancement de l'application (seeding), on pourra ajouter un script SQL dans le dossier de ressources pour qu'il soit exécuté au début de l'application.

  • Créez un script SQL correspondant au langage de votre SGBD et nommez le data.sql
  • Insérez les instructions d'insertion dans les tables au script
  • Placez ce fichier à la racine du dossier resources.

On devra aussi ajouter un peu de configuration au fichier application.properties.

spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.defer-datasource-initialization=true
spring.sql.init.mode=always

Ainsi, lors du démarrage de l'application, le script data.sql sera exécuté et les données insérées dans les tables.

Notez bien

Remarquez que j'ai utilisé la configuration de l'initialisation du schéma create-drop. Ceci fera en sotre qu'on évite de toujours insérer les données à chaque fois qu'on démarre l'application.