| Astuce | ||
|---|---|---|
| ||
Relecture RB |
Sommaire :
| Sommaire | ||
|---|---|---|
|
...
Important : La gestion de la structure de la base de données est liée à la numérotation des versions de l'application (Cf. 3.3.6 Numérotation des versions)
Création de la structure de la base de données
...
La commande batch se lance via :
| Bloc de code | ||
|---|---|---|
| ||
java -jar -Dconf=/chemin/conf.properties <appli>-batch-<version>.jar init-db |
Où la variable d'environnement conf permet de pointer vers un fichier de configuration externe contenant les propriétés suivantes (exemple pour MySQL ici) :
- jdbc.connection.driver_class=com.mysql.jdbc.Driver (le nom de la Classe pour le driver JDBC)
- jdbc.connection.url=jdbc:mysql://localhost/test (la chaîne de connexion à la base)
- jdbc.connection.username=root (le user)
- jdbc.connection.password=admin (le mot de passe)
- jpa.database.type=MYSQL (le type de la base. utilisé par JPA pour la génération du SQL)
Mise à jour de la structure de la base de données
Le principe est le même que pour la création de la base de données sauf que la commande à lancer est :
| Bloc de code | ||
|---|---|---|
| ||
java -jar -Dconf=/chemin/conf.properties <appli>-batch-<version>.jar upgrade-db |
...
Les exemples données ici sont consultables dans l'application esup-example.
Le module batch dépend du module example-domain-services pour avoir accès au VersionningService défini dans le fichier domain-services-init.xml du module demain-services.
Les commandes batch
La méthodeMaindispatche vers différente méthodes suivant le paramètre passé :
...
Le VersionningService est initialisé dans une méthode utilitaire qui quicom.mysql.jdbc.Driver positionne aussi la variable generateDdl.
...