42 lines
2.2 KiB
Markdown
42 lines
2.2 KiB
Markdown
Ce projet est un utilitaire qui permet une gestion efficace et facile de la base de donnée de l'application [Color Recipes Explorer](https://git.fyloz.dev/color-recipes-explorer). Le but premier était de séparer la gestion de la base de donnée de l'application principale.
|
|
|
|
## Fonctionnalités
|
|
### Vérification de la version de la base de donnée
|
|
Cet utilitaire permet à l'application de vérifier la version de la base de donnée et ainsi empêcher son démarrage si la base de donnée n'est pas compatible avec la version de l'application.
|
|
### Mise à jour de la base de donnée
|
|
Cet utilitaire permet de mettre à jour la base de donnée vers une version donnée.
|
|
### API Kotlin
|
|
L'application utilise cet API pour vérifier la version de la base de donnée et pour permettre une mise à jour semi-automatique de la base de donnée.
|
|
|
|
## Versions de la base de donnée
|
|
* `0`: Avant la création de la base de donnée
|
|
* `1`: Avant l'implémentation d'un API REST
|
|
* `2`: Après l'implémentation d'un API REST
|
|
|
|
## Utilisation autonome
|
|
### Prérequis
|
|
* Gradle 6.8 ou supérieur
|
|
* Java 11 ou supérieur
|
|
* Le driver JDBC pour votre système de base de donnée (ex: `mysql-connector-java` pour MySQL)
|
|
|
|
### Actions
|
|
* Vérifier la version de la base de donnée: `versionCheck`
|
|
* Mettre à jour la base de donnée: `update`
|
|
|
|
### Étapes
|
|
**Note: Les étapes assument que vous utilisez un système d'exploitation Linux.**
|
|
1. Cloner le projet: `git clone https://git.fyloz.dev/color-recipes-explorer/database-manager.git && cd database-manager`
|
|
2. Compiler un _shadow jar_: `gradle shadowJar`
|
|
3. Naviguer dans le dossier de compilation: `cd build/libs`
|
|
4. Créer le fichier de configuration ([exemple](https://git.fyloz.dev/color-recipes-explorer/database-manager/-/blob/master/README.md#exemple-de-fichier-de-configuration))
|
|
5. Exécuter l'utilitaire: `java -cp database-manager-<version>-all.jar:<driver>.jar dev.fyloz.colorrecipesexplorer.databasemanager.DatabaseUpdaterKt <action> <configuration>`
|
|
|
|
## Exemple de fichier de configuration
|
|
```
|
|
database.target-version=2 # Voir "Versions de la base de donnée"
|
|
database.url=jdbc:mysql://host/
|
|
database.name=database
|
|
database.username=user
|
|
database.password=pass
|
|
```
|