Raccourcis : Contenu - rubriques - sous rubriques
EN FR

Manipuler les schémas

La classe jDbSchema permet de manipuler la structure d'une base de donnée. Elle possède ainsi des méthodes pour créer une table, récupérer la structure d'une table, etc. Elle s'accompagne des classes jDbtable et jDbColumn.

Ces classes sont pour le moment assez expérimentales, et tous les drivers ne sont pas supportés.

Vous pouvez récupérer un objet jDbSchema en appelant la méthode schema() d'un objet jDbConnection.

Voir la documentation de réference.

Exécuter un script SQL

Il est possible d'exécuter un script SQL contenant plusieurs requêtes SQL. Il suffit de passer le chemin du fichier du script à la méthode execSQLScript() d'un objet jDbTools, objet que l'on récupère via la méthode tools() d'un objet de connection.


  $conn = jDb::getConnection();
  $conn->tools()->execSQLScript('/chemin/vers/un/script.sql');

Pour tenir compte de la possibilité de préfixer les tables via la configuration d'un profil, il est fortement recommander de précéder tout les noms de tables par %%PREFIX%%, cela sera remplacé par le préfixe de table (si il y en a un), avant l'exécution du script.


UPDATE %%PREFIX%%product.....;
INSERT .....;

jDbWidget

jDbWidget est une classe fournissant des méthodes utiles.


  $dbw = jDb::getDbWidget(); // au lieu de getConnection()

  $record = $dbw->fetchFirst("SELECT nom, prenom FROM user");
  
  $liste = $dbw->fetchAll("SELECT nom, prenom FROM user");

Pour le reste des méthodes, voyez la documentation de référence.