SQLAlchemy e Plone  No more ZSQL Methods	              	                                                         	        ...
O que é SQL Alchemy?SQLAlchemy é um toolkit           SQL Python e ummapeador objeto relacional (ORM - Object RelationalMa...
O que são ZSQL Methods?	   ZSQL Methods são um objeto zope similar a um    DTML Method ou Scripts Python especializados   ...
Produtos•    Alchemist•    collective.saconnect•    collective.lead•    z3c.saconfig                           Gustavo	  L...
Configuração•  A configuração da conexão é feita no arquivo   configure.zcml•  São utilizadas global utility e local utili...
                                                    configure.zcml<include package="z3c.saconfig" file="meta.zcml"/><db:en...
config.pyfrom sqlalchemy.ext.declarative import declarative_basefrom z3c.saconfig import named_scoped_sessionBase = declar...
Criação das tabelas•  A criação das tabelas é realizada pelo disparo na importação   do profile do produto.•  Import_steps...
                  Mapeamento – setuphandlers.pyfrom z3c.saconfig import named_scoped_sessionfrom pacote.produto.config imp...
Mapeamento	  import sqlalchemy as as[...]                                                              	  from pacote.proj...
           Obrigado!                  	   	                          	                               	                    ...
Próximos SlideShares
Carregando em…5
×

SQLAlchemy e Plone: no more zsql methods

1.513 visualizações

Publicada em

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.

Publicada em: Tecnologia
1 comentário
2 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
1.513
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
11
Comentários
1
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

SQLAlchemy e Plone: no more zsql methods

  1. 1. SQLAlchemy e Plone No more ZSQL Methods       Python Brasil São Paulo Gustavo  Lepri   lepri@simplesconsultoria.com.br  
  2. 2. 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  
  3. 3. 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  
  4. 4. Produtos•  Alchemist•  collective.saconnect•  collective.lead•  z3c.saconfig Gustavo  Lepri   lepri@simplesconsultoria.com.br  
  5. 5. 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  
  6. 6.   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  
  7. 7. 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  
  8. 8. 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  
  9. 9.   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  
  10. 10. 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  
  11. 11.   Obrigado!                 Gustavo  Lepri  lepri@simplesconsultoria.com.br  

×