Salut,
On Sat, 14 Mar 2015, Johan Cwiklinski wrote:
Les récentes modifications de Galette (lien entre fiches) impliquent
l'ajout d'une clé étrangère dans la table des adhérents (1).
J'ai découvert (avec horreur...) que SQLite n'est pas capable de gérer
ce type de modification.
La seule possibilité (confer leur FAQ (2)) ; c'est de recréer une
nouvelle table directement, et de ré-injecter les données dedans...
La table des adhérents est un peu le centre névralgique de Galette ; et
elle est assez conséquente (voir les scripts de création (3)) ; je ne
souhaite pas vraiment y toucher de cette manière.
Je ne suis pas sûr de comprendre : la modification est à faire une seule
fois lors de l'upgrade, non ? Après, sqlite gère ça correctement, ou je me
trompe ? Et ce n'est pas toute la base qu'il faut recréer, juste la table
concernée, c'est ça ? C'est si dangereux que ça ? (Après tout, les bases
galettes sont quand même de taille assez limitées, sinon l'utilisation sur
un fichier à plat serait de toutes façons peu efficace). L'avantage, c'est
qu'on peut très facilement faire un backup de la base depuis le code de
l'upgrade (juste un fichier à dupliquer) et la recharger en cas
d'incident. Je ne mesure pas bien le boulot d'adaptation qu'un tel
scenario représente il est vrai.
En conséquence, je me demande si je ne vais pas purement et simplement
supprimer le support SQLite de Galette, ce n'est pas super utilisé de ce
que je peux en constater.
Ben moi, ça m'embête un peu :
- sur ma machine de test, ça m'évite de me prendre la tête avec une
install mysql.
- sur mes machines de prod (ovh), je suis limité en nombre de base de
données. De plus, c'est ainsi assez facile de séparer les bases et de ne
pas pénaliser l'accès à une d'entre elle par les accès à d'autres.
Donc, sans vouloir tout bloquer pour autant, je vote popur la conservation
d'un support pour sqlite. Je peux faire quelques tests si ça peut aider...
Alain.