Conteúdo
Criando tabela no sqlalchemy
tabela -> cli_usu
servidor de banco de dados utilizado no exemplo -> FireBird 2.1
1 # este arquivo: db.py:
2
3 from sqlalchemy import create_engine,Table,Column,Integer,String,MetaData
4 from sqlalchemy import PrimaryKeyConstraint,Sequence,Boolean,URL,sessionmaker
5
6 #bdband -> alias criado no arquivo firebird.conf ( Firebird 2.1 )
7 #bdband pode ser substituido por 'c:\dados\banco.fdb'
8
9 _url = URL('firebird','SYSDBA','masterkey','192.168.1.11','3052','bdband')
10 engine = create_engine(_url)
11 metadata = MetaData(bind=engine)
12
13 #cria a tabela
14 cli_usu = Table('cli_usu',
15 metadata,
16 Column('cli_usu_id',Integer,Sequence('gn_cli_usu_id')),
17 Column('nome',String(20),nullable=False),
18 Column('senha',String(10),nullable=False),
19 Column('ativo',Boolean,nullable=False)
20 )
21 #cria a pk
22 cli_usu_pk = PrimaryKeyConstraint('cli_usu_id',name='CLI_USU_PK')
23
24 #adiciona a pk à tabela
25 cli_usu.append_constraint(cli_usu_pk)
26
27 #cria as tabelas no banco (caso nao existam)
28 metadata.create_all()
29
30 #cria o sessionmaker
31 Session = sessionmaker(bind=engine,autoflush=True,transactional=True)
32
33 #Agora, a partir de qualquer lugar do seu projeto, você pode instanciar uma sessao.
34
35 #outro arquivo: login.py
36 import db
37 sessao = db.Session()
38 sel_cli = db.cli_usu.select(db.cli_usu.c.ativo==1)
39 result = sessao.execute(sel_cli)
40 for row in result:
41 print row.nome,row.cli_usu_id,row.senha,row.ativo
42 sessao.commit()
43 sessao.close()