1810
Comentário:
|
1724
|
Deleções são marcadas assim. | Adições são marcadas assim. |
Linha 5: | Linha 5: |
* tabela -> cli_usu * servidor de banco de dados utilizado no exemplo -> FireBird 2.1 |
|
Linha 8: | Linha 6: |
Linha 43: | Linha 42: |
ins = cli_usu.insert().values(id=1,nome='jack',senha='senha',ativo='1') | ins = cli_usu.insert().values(nome='jack',senha='senha',ativo='1') |
Linha 47: | Linha 46: |
Linha 58: | Linha 58: |
}}} |
Conteúdo
Criando tabela no sqlalchemy
1 #este arquivo: db.py:
2
3 from sqlalchemy import create_engine,Table,Column,Integer,String,MetaData
4 from sqlalchemy import PrimaryKeyConstraint,Sequence,Boolean
5 from sqlalchemy.orm import sessionmaker
6 from sqlalchemy.engine.url import URL
7
8 #bdband -> alias criado no arquivo firebird.conf ( Firebird 2.1 )
9 #bdband pode ser substituido por 'c:/dados/banco.fdb'
10
11 _url = URL('firebird','SYSDBA','masterkey','192.168.1.11','3052','bdband')
12 engine = create_engine(_url)
13 metadata = MetaData(bind=engine)
14
15 #cria a tabela
16 cli_usu = Table('cli_usu',
17 metadata,
18 Column('cli_usu_id',Integer,Sequence('gn_cli_usu_id')),
19 Column('nome',String(20),nullable=False),
20 Column('senha',String(10),nullable=False),
21 Column('ativo',Boolean,nullable=False)
22 )
23 #cria a pk
24 cli_usu_pk = PrimaryKeyConstraint('cli_usu_id',name='CLI_USU_PK')
25
26 #adiciona a pk a tabela
27 cli_usu.append_constraint(cli_usu_pk)
28
29 #cria as tabelas no banco (caso nao existam)
30 metadata.create_all()
31
32 #cria o sessionmaker
33 Session = sessionmaker(bind=engine,autoflush=True)
34
35 sessao = Session()
36 ins = cli_usu.insert().values(nome='jack',senha='senha',ativo='1')
37 sessao.execute(ins)
38 sessao.commit()
39 sessao.close()
40
41 #Agora, a partir de qualquer lugar do seu projeto, voce pode instanciar uma sessao.
42
43 #outro arquivo: login.py
44 import db
45 sessao = db.Session()
46 sel_cli = db.cli_usu.select(db.cli_usu.c.ativo==1)
47 result = sessao.execute(sel_cli)
48 for row in result:
49 print row.nome,row.cli_usu_id,row.senha,row.ativo
50 sessao.commit()
51 sessao.close()