[firebase-br] RES: RES: RES: Controle de transações

Luis luisfirevb em gmail.com
Qui Nov 26 09:01:07 -03 2009


Apesar do problema ser muito relevante, eu também uso pegar o maior número e
somar 1, ao gravar se já tiver sido gravado identifico o código do erro e
acrescento + 1 até conseguir.

Essa dica do Douglas é interessante, mas acho que daria uma baita tralho
para identificar quais são os registros de uma certa empresa ou duas numa
dada consulta específica.

Eu acho que um caminho mais interessante seria criar uma chave composta, uma
para ID e outra para Empresa. Para gerar o ID poderia ser usado um Generator
para cada empresa, já que é possível no FB criar tudo via código (script),
então ao se cadastrar uma nova empresa dispararia uma trigger para criar um
generator novo dela.

Então ao se cadastrar um registro da empresa 23 por exemplo, se pegaria o
generator 23 + ID da empresa 23 e assim as buscar seriam sempre pela chave
composta:

ID registro + ID empresa.

Será que isso não é mais viável?

Luis


-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Douglas Tosi
Enviada em: quarta-feira, 25 de novembro de 2009 15:39
Para: FireBase
Assunto: Re: [firebase-br] RES: RES: Controle de transações

2009/11/25 gmail <thiago.rachadel em gmail.com>:
> Mais alguem tem alguma sugestão? Esta apresentada aqui apesar de
> aparentemente aumentar minha garantia ainda pode dar galho em minha
> avaliação. Além do que vai dar um trabalhão alterar isto no programa
> inteiro. Precisaria realmente de uma maneira de garantir que ao pegar o
> primeiro código já tivesse certeza de que ele é único.

a) Use chaves GUID - a geração da chave é no client, transparente para
múltiplas empresas

b) Você pode reservar os últimos 2 dígidos do código (ou mais) para a
empresa, e sempre incrementar o generator em 100.
Por exemplo, códigos para empresa 1 ficariam
101
201
301, etc.
Para a empresa 23, ficaria
123
223
323

hth,
-- 
Douglas Tosi
www.sinatica.com

______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista