Sqlobject 0.12.4 dans Debian
Par Carl Chenet: http://identi.ca/carlchenet
Sqlobject est un gestionnaire relationnel d’objets. Ce dernier vous permet de créer une couche d’abstraction entre votre base de données et la gestion de vos données au niveau de votre programme, tout cela à travers une bibliothèque de programmation en Python.
Si aujourd’hui SQLAchemy semble devenir une référence, SQLObject garde une simplicité et une approche très proche du langage Python qui fait de lui un choix intéressant si votre schéma de bases est simple et que vous souhaitez ne pas vous embourber dans la complexité de SQLAlchemy.
Un petit exemple extrait de la documentation officielle :
>>> from sqlobject import * >>> >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:') >>> >>> class Person(SQLObject): ... fname = StringCol() ... mi = StringCol(length=1, default=None) ... lname = StringCol() ... >>> Person.createTable()
>>> p = Person(fname="John", lname="Doe") >>> p <Person 1 fname='John' mi=None lname='Doe'> >>> p.fname 'John' >>> p.mi = 'Q' >>> p2 = Person.get(1) >>> p2 <Person 1 fname='John' mi='Q' lname='Doe'> >>> p is p2 True
Dans l’exemple précédent nous utilisons une base de donnes Sqlite placée en mémoire vive. Puis nous définissons une classe représentant les objets que nous souhaitons manipuler dans notre programme, à savoir des personnes. Nous effectuons à la suite de cette définition quelques manipulations pour montrer l’intérêt d’employer Python pour effectuer nos opérations.
Les bases de données suivantes sont gérées : sqlite, mysql, postgresql, firebird, interbase, maxdb, sapdb, mssql, sybase.
Sqlobject 0.12.4 est donc dorénavant disponible dans Debian Sid (version instable) et sera disponible dans Debian Squeeze (version de test) dans une dizaine de jours. Le nom du paquet Debian est python-sqlobject.