Ajout de migrations SQL pour corriger le schéma de base de données

- Création du dossier migrations/
- Migration 001: Ajout de la colonne image_filename manquante
- Script run-migrations.sh pour appliquer les migrations
- Documentation dans migrations/README.md
- Correction de l'erreur 'no such column: n.image_filename'
This commit is contained in:
Claude committed 2025-11-11 11:31:56 +00:00
1 parent cc3c776f68
commit 2011c4f6a4
3 files changed
+59

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
-- Migration pour ajouter la colonne image_filename à la table notes
-- À exécuter si vous obtenez l'erreur: "no such column: n.image_filename"
-- Vérifier la structure actuelle
-- SELECT sql FROM sqlite_master WHERE name='notes';
-- Ajouter la colonne image_filename si elle n'existe pas
ALTER TABLE notes ADD COLUMN image_filename TEXT;
-- Vérifier que la colonne a été ajoutée
-- SELECT * FROM notes LIMIT 1;
+36
View File
@@ -0,0 +1,36 @@
# Migrations de base de données
Ce dossier contient les scripts de migration SQL pour mettre à jour le schéma de la base de données.
## Utilisation
### Méthode 1 : Exécuter dans le container Docker
```bash
# Copier le script dans le container
docker cp migrations/run-migrations.sh notes-todo-app:/app/
# Exécuter la migration
docker exec notes-todo-app sh /app/run-migrations.sh
```
### Méthode 2 : Manuellement avec sqlite3
```bash
# Se connecter au container
docker exec -it notes-todo-app sh
# Exécuter la migration SQL
sqlite3 /app/data/notes.db < /path/to/migration.sql
```
### Méthode 3 : Recréer la base de données (⚠️ perte de données)
```bash
docker-compose down -v
docker-compose up -d --build
```
## Liste des migrations
- **001_add_image_filename.sql** : Ajoute la colonne `image_filename` à la table `notes`
+12
View File
@@ -0,0 +1,12 @@
#!/bin/bash
# Script pour exécuter les migrations SQL sur la base de données
DB_PATH="/app/data/notes.db"
echo "=== Exécution des migrations SQLite ==="
# Migration 001: Ajouter image_filename
echo "Migration 001: Ajout de la colonne image_filename..."
sqlite3 $DB_PATH "ALTER TABLE notes ADD COLUMN image_filename TEXT;" 2>/dev/null && echo "✓ Migration 001 appliquée" || echo "⚠ Migration 001 déjà appliquée ou erreur"
echo "=== Migrations terminées ==="