Skip to content
Extraits de code Groupes Projets
Bifurcation depuis spip / spip
Le projet source a une visibilité limitée.
  • marcimat's avatar
    a6857312
    Permettre à SQLite de faire des requetes qu'il ne connait pas : ALTER TABLE... · a6857312
    marcimat a rédigé
    Permettre à SQLite de faire des requetes qu'il ne connait pas : ALTER TABLE table (DROP|CHANGE|MODIFY) column
    
    Pour cela, la seule solution est : 
    A) découpage de la requete en autant de sous requete s'il y a (cas des referers qui ont 3 modifications DROP, CHANGE, ADD dans une seule requete), puis 
    B) executer la sous-requete, sauf pour des sous requetes DROP, CHANGE ou MODIFY :
    1) créer une table temporaire avec le contenu table à modifier (long sur les grosses bases ?), 
    2) supprimer la table à modifier,
    3) recréer la table en tenant compte des changements
    4) copier les contenus qui correspondent de la table teporaire à la table recrée (long?)
    5) supprimer la table temporaire
    
    Du coup, au vu du risque sur ces requetes pour les grosses bases lors d'une mise à jour de SPIP, je ne saurais que trop conseiller de ne pas oublier de faire un DUMP avant ! (Il est fréquent que les mises à jour de SPIP utilisent ALTER TABLE ... DROP|CHANGE|MODIFY ...
    a6857312
    Historique
    Permettre à SQLite de faire des requetes qu'il ne connait pas : ALTER TABLE...
    marcimat a rédigé
    Permettre à SQLite de faire des requetes qu'il ne connait pas : ALTER TABLE table (DROP|CHANGE|MODIFY) column
    
    Pour cela, la seule solution est : 
    A) découpage de la requete en autant de sous requete s'il y a (cas des referers qui ont 3 modifications DROP, CHANGE, ADD dans une seule requete), puis 
    B) executer la sous-requete, sauf pour des sous requetes DROP, CHANGE ou MODIFY :
    1) créer une table temporaire avec le contenu table à modifier (long sur les grosses bases ?), 
    2) supprimer la table à modifier,
    3) recréer la table en tenant compte des changements
    4) copier les contenus qui correspondent de la table teporaire à la table recrée (long?)
    5) supprimer la table temporaire
    
    Du coup, au vu du risque sur ces requetes pour les grosses bases lors d'une mise à jour de SPIP, je ne saurais que trop conseiller de ne pas oublier de faire un DUMP avant ! (Il est fréquent que les mises à jour de SPIP utilisent ALTER TABLE ... DROP|CHANGE|MODIFY ...