e9b7429a5d | ||
---|---|---|
src | ||
.drone.yml | ||
.gitignore | ||
README.md | ||
build.gradle.kts | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
settings.gradle.kts |
README.md
Ce projet est un utilitaire qui permet une gestion efficace et facile de la base de donnée de l'application 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ée1
: Avant l'implémentation d'un API REST2
: 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.
- Cloner le projet:
git clone https://git.fyloz.dev/color-recipes-explorer/database-manager.git && cd database-manager
- Compiler un shadow jar:
gradle shadowJar
- Naviguer dans le dossier de compilation:
cd build/libs
- Créer le fichier de configuration (exemple)
- 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