[zope-pt] ZODB persistencia de dados

2007-11-20 Por tôpico mat.zenaide
Boa tarde galera,

Na verdade não sei nem se estou postando na lista correta, se seria no
zope-pt ou python-br, enfim. Estou estudando o ZODB, tive curiosidade
devido nunca ter trabalhado com um banco OO.

Lendo um tutorial aqui, outro ali...
Fiz um código para exercitar:


from ZODB import FileStorage, DB

storage = FileStorage.FileStorage('/tmp/cadastro.fs')
db = DB(storage)
conn = db.open()



import ZODB.config
from persistent import Persistent

db = ZODB.config.databaseFromURL('cadastro.conf')
conn = db.open()

class Pessoa(Persistent):
def __init__(self, id, nome, idade):
self.id = id
self.nome = nome
self.idade = idade

dbroot = conn.root()

if not dbroot.has_key('userdb'):
from BTrees.OOBTree import OOBTree
dbroot['userdb'] = OOBTree()

userdb =  dbroot['userdb']

import transaction

ps = Pessoa(1, 'mateus', 23)

userdb[ps.id] = ps

transaction.commit()

-//-


Resumindo... como é o funcionamento do ZODB, pq estou inserindo mais
de uma vez o id = 1 por exemplo, onde defino com userdb a chave id, e
não da erro algum, na verdade acho que nem inserindo está no meu banco
os dados.

Gostaria de uma forcinha de vcs, o que fazer no código para realmente
gravar no banco e se tentar inserir mais de um id com mesmo número
apresentar um erro. O que ta faltando? o que estou fazendo de errado?

Desde já agradeço a atenção de todos e peço desculpas se postei no
fórum errado.

Mateus Zenaide Henriques




Re: [zope-pt] ZODB persistencia de dados

2007-11-20 Por tôpico Luciano Ramalho
Mateus, acho que você vai encontrar mais gente interessada no uso do
ZODB independente do Zope na lista [EMAIL PROTECTED]

[ ]s
Luciano


On Nov 20, 2007 4:15 PM, mat.zenaide [EMAIL PROTECTED] wrote:
 Boa tarde galera,

 Na verdade não sei nem se estou postando na lista correta, se seria no
 zope-pt ou python-br, enfim. Estou estudando o ZODB, tive curiosidade
 devido nunca ter trabalhado com um banco OO.

 Lendo um tutorial aqui, outro ali...
 Fiz um código para exercitar:

 
 from ZODB import FileStorage, DB

 storage = FileStorage.FileStorage('/tmp/cadastro.fs')
 db = DB(storage)
 conn = db.open()

 

 import ZODB.config
 from persistent import Persistent

 db = ZODB.config.databaseFromURL('cadastro.conf')
 conn = db.open()

 class Pessoa(Persistent):
 def __init__(self, id, nome, idade):
 self.id = id
 self.nome = nome
 self.idade = idade

 dbroot = conn.root()

 if not dbroot.has_key('userdb'):
 from BTrees.OOBTree import OOBTree
 dbroot['userdb'] = OOBTree()

 userdb =  dbroot['userdb']

 import transaction

 ps = Pessoa(1, 'mateus', 23)

 userdb[ps.id] = ps

 transaction.commit()

 -//-


 Resumindo... como é o funcionamento do ZODB, pq estou inserindo mais
 de uma vez o id = 1 por exemplo, onde defino com userdb a chave id, e
 não da erro algum, na verdade acho que nem inserindo está no meu banco
 os dados.

 Gostaria de uma forcinha de vcs, o que fazer no código para realmente
 gravar no banco e se tentar inserir mais de um id com mesmo número
 apresentar um erro. O que ta faltando? o que estou fazendo de errado?

 Desde já agradeço a atenção de todos e peço desculpas se postei no
 fórum errado.

 Mateus Zenaide Henriques




 Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
 Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
 Links do Yahoo! Grupos