Pilotes de base de données

A l'heure actuelle, Stato ne peut fonctionner qu'avec MySQL. Des pilotes pour PostgreSQL et SQLLite sont toutefois en cours de développement.

2 pilotes sont disponibles pour MySQL : le premier utilise l'extension MySQL standard, le second utilise PDO. Le choix du pilote et la saisie des paramètres de connexion se font dans le fichier conf/database.php :

$config = array
(
    'dev' => array
    (
        'driver'  => 'PDOMySql',
        'host'    => 'localhost',
        'user'    => 'root',
        'pass'    => '',
        'dbname'  => 'myproject'
    ),
    'prod' => array
    (
        'driver'  => 'MySql',
        'host'    => 'localhost',
        'user'    => 'root',
        'pass'    => '',
        'dbname'  => 'myproject'
    ),
    'test' => array
    (
        'driver'  => 'PDOMySql',
        'host'    => 'localhost',
        'user'    => 'root',
        'pass'    => '',
        'dbname'  => 'test_stato'
    )
);
 
return $config;

Remarque importante : Lorsqu'une requête est exécutée avec PDO, vous ne pouvez pas faire une nouvelle requête sans avoir récupéré tous les enregistrements retournés par la première. Cela peut poser problème avec Stato, notamment si vous souhaitez afficher des propriétés d'un objet associé à l'objet courant : (voir la méthode includes() de SQuerySet)

foreach (Post::$objects->all() as $post) {
    echo 'Titre:           '.$post->title;
    echo 'Author:          '.$post->author->name;
    echo 'Last comment on: '.$post->comments->first()->created_on;
}

Toutefois, le pilote PDO pour MySQL permet d'activer les requêtes bufférisées de MySQL, vous n'aurez donc pas ce problème avec les pilotes MySQL de Stato.

 
fr/db.txt · Last modified: 2009/04/03 02:27 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki