feat(docker): migrations sqlx intégrées dans le démarrage de l'API

- Déplace les migrations du service `migrate` séparé vers un entrypoint.sh
- L'API exécute `sqlx migrate run` au démarrage avant de lancer le binaire
- Gestion de la rétrocompatibilité : détecte un schéma pre-sqlx et crée
  une baseline `_sqlx_migrations` pour éviter les conflits sur les instances existantes
- Installe sqlx-cli dans le builder, copie le binaire et les migrations dans l'image finale
- Supprime le service `migrate` du docker-compose.yml ; l'indexer dépend maintenant
  du healthcheck de l'API (qui garantit que les migrations sont appliquées)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-11 15:46:28 +01:00
parent d2fe7f12ab
commit 7cfb6cf001
4 changed files with 79 additions and 29 deletions

View File

@@ -17,17 +17,17 @@ echo ""
for service in "${SERVICES[@]}"; do
echo "Building $service..."
docker build -f apps/$service/Dockerfile -t $service:latest .
echo "Tagging $service..."
docker tag $service:latest $REGISTRY/$OWNER/stripstream-$service:$VERSION
docker tag $service:latest $REGISTRY/$OWNER/stripstream-$service:latest
echo "Pushing stripstream-$service:$VERSION..."
docker push $REGISTRY/$OWNER/stripstream-$service:$VERSION
echo "Pushing stripstream-$service:latest..."
docker push $REGISTRY/$OWNER/stripstream-$service:latest
echo "$service pushed successfully"
echo ""
done