[spip-dev] sql_create ? détails

Bonjour

dans la fonction sql_create
je crois comprendre que le paramètre $champs est un tableau
champs: champ => type

Mais
dans ca fonction create (table) de la couche d'abstraction sql de spip
comment règle-t-on
1/ la taille du champ
2/ la valeur par défaut
3/ éventuellement les valeurs d'un enum ???

Merci
RB

Je me réponds et déoslé pour le bruit...
Je viens de lire serial.php et la réponse y est lumineuse.
Bon travail
RB

rburton a écrit :

Bonjour

dans la fonction sql_create
je crois comprendre que le paramètre $champs est un tableau
champs: champ => type

pas exactement, il y a le nom du champ oui, et la valeur est "tout le reste", c'est à dire le type et ce que tu listes ci-dessous. C'est pas terrible, mais pour l'instant c'est comme ça.

Mais
dans ca fonction create (table) de la couche d'abstraction sql de spip
comment règle-t-on
1/ la taille du champ
2/ la valeur par défaut
3/ éventuellement les valeurs d'un enum ???

Committo,Ergo:Sum

Committo,Ergo:sum a écrit :

Bonjour

dans la fonction sql_create
je crois comprendre que le paramètre $champs est un tableau
champs: champ => type

pas exactement, il y a le nom du champ oui, et la valeur est "tout le reste", c'est à dire le type et ce que tu listes ci-dessous. C'est pas terrible, mais pour l'instant c'est comme ça.

Merci

Il y a une abstraction pour les types de données ? (enum n'existe pas en sqlite, je crois)
Et pour la longueur maximale (varchar, par exemple), testez-vous la valeur par rapport aux possibilités du sgbdr ?

Si on écrit les types en sql disons iso sql92
j'ai NUMERIC
ce sera pris en compte et traité en fonction de mysql ou sqlite ?

Bref, je simplifie ma question: si j'utilise les fonctions sql_qqchose de la couche d'abstraction de spip
est-il préférable
de tout écrire en mysql ou en en sql standard (iso sql92, par exemple) ? à la lecture du code, j'ai un doute sur le meilleur choix à faire.

Merci beaucoup
NB .... les écureuils dorment-ils la nuit ?

Historiquement la couche d'abstraction SPIP-SQL est une collection de points d'entrée produisant du MySQL,
elle est du coup assez insatisfaisante sur cerains points, notamment celui que tu relevais.
Comme l'explique l'article à paraître sur spipnet, elle a tout de suite été implémenté avec un mécanime de gestion automatique de changement de versions car elle évoluera certainement quand ces questions seront tranchées.
En attendant, écrire du ISO est probablement ce qu'il y a de plus portable.

Committo,Ergo:Sum

Committo,Ergo:sum a écrit :

Bref, je simplifie ma question: si j'utilise les fonctions sql_qqchose de la couche d'abstraction de spip
est-il préférable
de tout écrire en mysql ou en en sql standard (iso sql92, par exemple) ?

Historiquement la couche d'abstraction SPIP-SQL est une collection de points d'entrée produisant du MySQL,
elle est du coup assez insatisfaisante sur cerains points, notamment celui que tu relevais.
Comme l'explique l'article à paraître sur spipnet, elle a tout de suite été implémenté avec un mécanime de gestion automatique de changement de versions car elle évoluera certainement quand ces questions seront tranchées.
En attendant, écrire du ISO est probablement ce qu'il y a de plus portable.

Committo,Ergo:Sum

Merci beaucoup
Bon travail
RB

As tu regarder de ce coté ?
http://doc.spip.org/@sql_create