SQLAlchemy and pycamp.orm
-
Upload
edvmsildeshare -
Category
Technology
-
view
1.280 -
download
5
description
Transcript of SQLAlchemy and pycamp.orm
![Page 1: SQLAlchemy and pycamp.orm](https://reader033.fdocuments.net/reader033/viewer/2022052823/5554af01b4c90502618b54bf/html5/thumbnails/1.jpg)
PYCAMP.ORMHACIENDO *FACIL* USAR SQLALCHEMY
... y ...de que se trata ?
/* momento de suspenso */
![Page 2: SQLAlchemy and pycamp.orm](https://reader033.fdocuments.net/reader033/viewer/2022052823/5554af01b4c90502618b54bf/html5/thumbnails/2.jpg)
pycamp.ormHACIENDO FACIL USAR SQLALCHEMY
NUESTRO PROPOSITO
BASE DE DATOS RELACIONAL
INTERACTUAMOS CON LA BASE DE DATOS
![Page 3: SQLAlchemy and pycamp.orm](https://reader033.fdocuments.net/reader033/viewer/2022052823/5554af01b4c90502618b54bf/html5/thumbnails/3.jpg)
pycamp.ormHACIENDO FACIL USAR SQLALCHEMY
INTERACTUAR CON LA DB
![Page 4: SQLAlchemy and pycamp.orm](https://reader033.fdocuments.net/reader033/viewer/2022052823/5554af01b4c90502618b54bf/html5/thumbnails/4.jpg)
pycamp.ormHACIENDO FACIL USAR SQLALCHEMY
BASES DE DATOS Y SUS DIALECTOS言語 язык زبان
MISMAS QUERYS, DIFERENTES MOTORES / BASES DE DATOS
![Page 5: SQLAlchemy and pycamp.orm](https://reader033.fdocuments.net/reader033/viewer/2022052823/5554af01b4c90502618b54bf/html5/thumbnails/5.jpg)
pycamp.ormHACIENDO FACIL USAR SQLALCHEMY
ORM / OBJECT RELATION MAPPER
言語
язык
زبان
SQLALCHEMYTHE PYTHON SQL
TOOLKIT
![Page 6: SQLAlchemy and pycamp.orm](https://reader033.fdocuments.net/reader033/viewer/2022052823/5554af01b4c90502618b54bf/html5/thumbnails/6.jpg)
pycamp.ormHACIENDO FACIL USAR SQLALCHEMY
EJEMPLOS / FREDDY VS JASON言語
SQLALCHEMYORM
言語
![Page 7: SQLAlchemy and pycamp.orm](https://reader033.fdocuments.net/reader033/viewer/2022052823/5554af01b4c90502618b54bf/html5/thumbnails/7.jpg)
pycamp.ormHACIENDO FACIL USAR SQLALCHEMY
ENTONCES ? .../* BASTA DE DIBUJITOS */
BASE DE DATOS RELACIONAL
TABLAS
COLUMNAS
FILAS
OBJETOS PYTHONYES!!! ^^SQLALCHEMY
![Page 8: SQLAlchemy and pycamp.orm](https://reader033.fdocuments.net/reader033/viewer/2022052823/5554af01b4c90502618b54bf/html5/thumbnails/8.jpg)
pycamp.ormHACIENDO FACIL USAR SQLALCHEMY
HACIENDO ALQUIMIA, INGREDENTES:
from sqlalchemy.orm import sessionmakerfrom sqlalchemy.orm import mapperfrom sqlalchemy import MetaDatafrom sqlalchemy import create_engine
ENGINE
SESIONES
METADATAMAPPER
+
== PODEROSA ALQUIMIA
![Page 9: SQLAlchemy and pycamp.orm](https://reader033.fdocuments.net/reader033/viewer/2022052823/5554af01b4c90502618b54bf/html5/thumbnails/9.jpg)
pycamp.ormHACIENDO FACIL USAR SQLALCHEMY
ORDEN DE LOS INGREDIENTES
1- CREAR ENGINE2- BINDEAR CONTRA NUESTRO ENGINE... LISTO =)
/* LA CHARLA NO ERA DE PYCAMP.ORM ?! o.O' */
![Page 10: SQLAlchemy and pycamp.orm](https://reader033.fdocuments.net/reader033/viewer/2022052823/5554af01b4c90502618b54bf/html5/thumbnails/10.jpg)
pycamp.ormHACIENDO FACIL USAR SQLALCHEMY
PREPARANDO EL ENGINE Y BINDEANDO
from sqlalchemy import create_engine url = 'mysql://user:passwd@host/dbname'engine = create_engine(url)
/* LA CHARLA NO ERA DE PYCAMP.ORM ?! o.O' */
/* mission 1 complete! */
from sqlalchemy.orm import sessionmakersesion = sessionmaker(bind=engine)from sqlalchemy import MetaDatameta = MetaData(bind=engine)
/* Very nice ! ^^ */
![Page 11: SQLAlchemy and pycamp.orm](https://reader033.fdocuments.net/reader033/viewer/2022052823/5554af01b4c90502618b54bf/html5/thumbnails/11.jpg)
pycamp.ormHACIENDO FACIL USAR SQLALCHEMY
*COPADO*!!! ... PERO ... Y PYCAMP.ORM ?/* ME ABURRO ... - . - ... */
Fotos sacadas del flickr de Horacio Duran (perrito666)http://www.flickr.com/photos/perrito667/sets/72157626271479985/with/5575872718/
![Page 12: SQLAlchemy and pycamp.orm](https://reader033.fdocuments.net/reader033/viewer/2022052823/5554af01b4c90502618b54bf/html5/thumbnails/12.jpg)
pycamp.ormHACIENDO FACIL USAR SQLALCHEMY
ONE RING TWO OBJECTS TO RULE THEM ALL!!!from pycamp.orm.mapper import Databasemydb = Database('pycamp', user='pycamp', passwd='pycamp', engine='mysql')otherdb = Database('pyday', user='pyday', passwd='pyday', engine='posgresql') from pycamp.orm.mapper import DatabaseManagermanager = DatabaseManager()manager.add(mydb, otherdb) import datetimenewreg = manager.mysql.pycamp.test1()newreg.name = 'foo bar'newreg.birthdate = datetime.date.today()newreg.contact_id = '31337'
sesion = manager.mysql.pycamp.session()sesion.add(newreg)try: sesion.commit()except Exception,ex: os.system('halt')
manager.mysql.pycamp.enginemanager.mysql.pycamp.hostmanager.mysql.pycamp.metamanager.mysql.pycamp.namemanager.mysql.pycamp.passwdmanager.mysql.pycamp.sessionmanager.mysql.pycamp.test1manager.mysql.pycamp.user
![Page 13: SQLAlchemy and pycamp.orm](https://reader033.fdocuments.net/reader033/viewer/2022052823/5554af01b4c90502618b54bf/html5/thumbnails/13.jpg)
pycamp.ormHACIENDO FACIL USAR SQLALCHEMY
CASTING THE SPELLS
MAPPER(CLASS, TABLE) for kw in db.meta.tables.keys():
obj = type(str(kw), (object,), {}) setattr(db, kw, obj) mapper(obj, db.meta.tables[kw])
AUTOREFLECT db.meta.reflect(bind=db.engine)
+
== +1 HP
![Page 14: SQLAlchemy and pycamp.orm](https://reader033.fdocuments.net/reader033/viewer/2022052823/5554af01b4c90502618b54bf/html5/thumbnails/14.jpg)
pycamp.ormHACIENDO FACIL USAR SQLALCHEMY
MEZCLANDO TODO ...
HORA DE IR AL SHELL ...
AHORA GENERALMENTE SE ROMPE TODOY/O/U NO ANDA NADA COMO UNO LO ESPERA
![Page 15: SQLAlchemy and pycamp.orm](https://reader033.fdocuments.net/reader033/viewer/2022052823/5554af01b4c90502618b54bf/html5/thumbnails/15.jpg)
pycamp.ormHACIENDO FACIL USAR SQLALCHEMY
MUCHAS GRACIAS!!!
PYCAMP.ORMhttps://bitbucket.org/edvm/pycamp.orm/overview
SQLALCHEMYhttp://www.sqlalchemy.org/docs/
/* DONACIONES DE CERVEZAS SERAN BIEN RECIBIDAS ^^ */ */
Emiliano Dalla Verde [email protected]
twitter: @edvmirc freenode: x-ip
Que tengan un buen dia y recuerden ... traten de usar una base de datos orientada a Objetos u/o/y NoSQL ^^ /* cheatsheet
- Zope - MongoDB*/