Aaron Benton é um arquiteto experiente, especializado em soluções criativas para desenvolver aplicativos móveis inovadores. Ele tem mais de 10 anos de experiência em desenvolvimento de pilha completa, incluindo ColdFusion, SQL, NoSQL, JavaScript, HTML e CSS. Atualmente, Aaron é Arquiteto de Aplicativos da Shop.com em Greensboro, Carolina do Norte, e é um Campeão da comunidade do Couchbase.

Aaron Benton

FakeIt Série 4 de 5: Trabalhando com dados existentes

Até agora, em nosso Falsa vimos como podemos Gerar dados falsos, Compartilhar dados e dependênciase usar Definições para modelos menores. Hoje vamos examinar o último recurso importante da FakeIt, que é trabalhar com dados existentes por meio de entradas.

Raramente, como desenvolvedores, temos a vantagem de trabalhar em aplicativos novos, pois nossos domínios são, na maioria das vezes, compostos por diferentes bancos de dados e aplicativos legados. Como estamos modelando e criando novos aplicativos, precisamos fazer referência e usar esses dados existentes.  Falsa permite que você forneça dados existentes aos seus modelos por meio de arquivos JSON, CSV ou CSON. Esses dados são expostos como uma variável de entrada em cada uma das funções *run e *build dos modelos.

Modelo de usuários

Começaremos com o nosso modelo users.yaml que atualizamos em nossa última atualização publicação recente para usar Endereço e Telefone definições.

 

Atualmente, nossos Endereço está gerando um país aleatório. E se o nosso site de comércio eletrônico oferecer suporte apenas a um pequeno subconjunto dos 195 países? Digamos que suportemos seis países para começar: US, CA, MX, UK, ES, DE. Poderíamos atualizar a propriedade country das definições para obter um elemento de matriz aleatório:

(Para fins de brevidade, as outras propriedades foram deixadas de fora da definição do modelo)

Embora isso funcione, e se tivermos outros modelos que dependam dessas mesmas informações de país, teremos que duplicar essa lógica. Podemos fazer a mesma coisa criando um arquivo countries.json e adicionando uma propriedade inputs à propriedade data, que pode ser um caminho absoluto ou relativo para a nossa entrada. Quando o modelo for gerado, nosso arquivo countries.json será exposto a cada uma das funções de criação de modelos por meio do argumento inputs como inputs.countries

(Para fins de brevidade, as outras propriedades foram deixadas de fora da definição do modelo)

Ao alterar uma linha existente e adicionar outra linha no modelo, fornecemos dados existentes ao nosso modelo de Usuários. Ainda podemos gerar um país aleatório, com base nos países que nosso aplicativo suporta. Vamos testar nossas alterações usando o seguinte comando:

blog4 example1

Modelo de produtos

Nosso aplicativo de comércio eletrônico está usando um sistema separado para categorização. Precisamos expor esses dados aos nossos produtos gerados aleatoriamente para que possamos usar informações de categoria válidas. Começaremos com o products.yaml que definimos na seção FakeIt Série 2 de 5: Dados compartilhados e dependências postar.

Nossos dados de categorias existentes foram fornecidos em formato CSV.

Agora precisamos atualizar nosso modelo products.yaml para usar esses dados existentes.

(Para fins de brevidade, as outras propriedades foram deixadas de fora da definição do modelo)

Há alguns aspectos a serem observados sobre como atualizamos nosso modelo products.yaml.

  • inputs: é definido como uma matriz e não como uma cadeia de caracteres. Embora estejamos usando apenas uma única entrada, você pode fornecer quantos arquivos de entrada forem necessários para o seu modelo.
  • Uma função pre_build é definida na raiz do modelo. Isso ocorre porque não podemos pegar um elemento de matriz aleatório para cada uma de nossas três propriedades de categoria, pois os valores não corresponderiam. Toda vez que um documento individual for gerado para o nosso modelo, essa função pre_build será executada primeiro.
  • Cada uma de nossas funções de construção de propriedades de categoria faz referência à variável global definida pela função pre_build em nosso modelo.

Podemos testar nossas alterações usando o seguinte comando:

blog4 example2

Conclusão

A capacidade de trabalhar com dados existentes é um recurso extremamente poderoso do Falsa. Ele pode ser usado para manter a integridade de documentos gerados aleatoriamente para trabalhar com o sistema existente e pode até mesmo ser usado para transformar dados existentes e importá-los para o Couchbase Server.

Próximo

Anterior

Couchbase Champion

Esta postagem faz parte do Programa de Redação da Comunidade Couchbase

Autor

Postado por Laura Czajkowski, gerente da comunidade de desenvolvedores, Couchbase

Laura Czajkowski é a Snr. Developer Community Manager da Couchbase, supervisionando a comunidade. Ela é responsável pelo nosso boletim informativo mensal para desenvolvedores.

Deixar uma resposta