SQLAlchemy e Plone: no more zsql methods
Upcoming SlideShare
Loading in...5
×
 

SQLAlchemy e Plone: no more zsql methods

on

  • 1,503 views

No dia-a-dia precisamos acessar as informações que estão em bancos de dados relacionais, seja para gerar relatórios, seja para exibir dados de outros sistemas....

No dia-a-dia precisamos acessar as informações que estão em bancos de dados relacionais, seja para gerar relatórios, seja para exibir dados de outros sistemas.

Faça essa integração de forma transparente, ágil e eficiente utilizando SQLAlchemy.

Statistics

Views

Total Views
1,503
Views on SlideShare
1,501
Embed Views
2

Actions

Likes
2
Downloads
9
Comments
1

1 Embed 2

http://www.slashdocs.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

SQLAlchemy e Plone: no more zsql methods SQLAlchemy e Plone: no more zsql methods Presentation Transcript

  • SQLAlchemy e Plone No more ZSQL Methods       Python Brasil São Paulo Gustavo  Lepri   lepri@simplesconsultoria.com.br  
  • O que é SQL Alchemy?SQLAlchemy é um toolkit SQL Python e ummapeador objeto relacional (ORM - Object RelationalMapper) que permite aos desenvolvedores deaplicações toda a potência e flexibilidade do SQL. Gustavo  Lepri   lepri@simplesconsultoria.com.br  
  • O que são ZSQL Methods?   ZSQL Methods são um objeto zope similar a um DTML Method ou Scripts Python especializados para serem usados com bancos de dados relacionais. Eles são o caminho mais fácil para conectar o Zope a RDBMS. Contêm comandos SQLe DTML em associação. Gustavo  Lepri   lepri@simplesconsultoria.com.br  
  • Produtos•  Alchemist•  collective.saconnect•  collective.lead•  z3c.saconfig Gustavo  Lepri   lepri@simplesconsultoria.com.br  
  • Configuração•  A configuração da conexão é feita no arquivo configure.zcml•  São utilizadas global utility e local utility•  Podem ser configuradas conexões globais – uma por instância Zope .•  Ou locais - por site Plone Gustavo  Lepri   lepri@simplesconsultoria.com.br  
  •   configure.zcml<include package="z3c.saconfig" file="meta.zcml"/><db:engine name=“engine.teste.database" url="mysql://usuario:senha@127.0.0.1/banco_dados?charset=utf8" /><db:session name=“session.teste.db"engine=“engine.teste.database" /> Gustavo  Lepri   lepri@simplesconsultoria.com.br  
  • config.pyfrom sqlalchemy.ext.declarative import declarative_basefrom z3c.saconfig import named_scoped_sessionBase = declarative_base()SCOPED_SESSION_NAME = ‘session.teste.dbsession =named_scoped_session(SCOPED_SESSION_NAME)     Gustavo  Lepri   lepri@simplesconsultoria.com.br  
  • Criação das tabelas•  A criação das tabelas é realizada pelo disparo na importação do profile do produto.•  Import_steps.xml<?xml version="1.0"?> <import-steps> <import-step id=“identificador-create_tables" version="20101020-11“ handler=“pacote.produto.setuphandlers.create_tables“ title="Create Base Tables"> <dependency step="toolset" /></import-step> </import-steps> Gustavo  Lepri   lepri@simplesconsultoria.com.br  
  •   Mapeamento – setuphandlers.pyfrom z3c.saconfig import named_scoped_sessionfrom pacote.produto.config import Base  from pacote.produto..config import SCOPED_SESSION_NAMESession = named_scoped_session(SCOPED_SESSION_NAME)create_tables(context): Called at profile import time to create necessary tables ‘ if isNotOurProfile(context): return Base.metadata.create_all(bind=Session.bind) Gustavo  Lepri   lepri@simplesconsultoria.com.br  
  • Mapeamento  import sqlalchemy as as[...]  from pacote.projeto.config import Baseclass Projeto(Base): """Um projeto""“ implements(IProjeto) __tablename__ = projeto‘ __table_args__ = {mysql_engine:InnoDB,mysql_charset:utf8} projetoid =sa.Column(sa.INT,nullable=False,index=True,primary_key=True) [...] Gustavo  Lepri   lepri@simplesconsultoria.com.br  
  •   Obrigado!                 Gustavo  Lepri  lepri@simplesconsultoria.com.br