Xrecord.

um artython introspectivo orm
Baixe Agora

Xrecord. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • BSD License
  • Preço:
  • FREE
  • Nome do editor:
  • Jakub Wroniecki
  • Site do editor:

Xrecord. Tag


Xrecord. Descrição

Um artython introspectivo orm O XRecord é uma biblioteca que fornece uma interface de objeto para bancos de dados. As tabelas são representadas como classes, colunas são atributos, e linhas de dados são instâncias de classe. Se você usou o Python para o desenvolvimento de aplicativos de banco de dados, você pode ter se deparado de um ou mais de Orms, como: * SqlObject * Sqlalchemy * Outono * Storm * Muito mais ... XRecord não é destinado a substituir qualquer um deles, mas sim Abordagem alternativa ao mapeamento de relação de objeto. O XRecord também tenta ser uma camada de abstração de banco de dados fina - tornar o uso de um RDBMS rápido e fácil sem esconder qualquer um dos seus recursos poderosos. Por que outra ORM? Parece que o "Python Orm Market" é preenchido com algumas excelentes soluções, todas elas O que se espera deles muito bem. No entanto, enquanto usa a maioria deles, descobri que todos compartilham algumas decisões de design, como resultado do qual não se encaixam exatamente minhas necessidades. ESPENSAS OS ORMS PYTHON existentes exigem que você realmente escreva as classes nas quais as linhas de dados serão mapeadas . Eles exigem que você defina explicitamente as chaves estrangeiras em suas aulas (tabelas) e descrever os relacionamentos muitos-para-muitos. Como todas essas informações já estão dentro do seu RDBMS, acredito que isso esteja em um pouco de conflito com o princípio seco, da qual sou um grande fã. Alguns Orms tentam combater esse problema deixando a definição de banco de dados (modelo) inteiramente no código Python, mas isso é apenas uma solução superficial - mesmo que seu modelo seja definido no Python, seus dados ainda são armazenados em um banco de dados externo e suas estruturas Nem sempre tem que estar em sincronia. A maioria dos Orms Python existentes são projetados para ocultar todos os SQL do programador, mas ainda permitem que consultas complexas sejam executadas por meio de uma camada de abstração colocada em cima da API de banco de dados de baixo nível. Isso faz com que o código pareça limpo e o RDBMS independente. É comum que os aplicativos sejam desenvolvidos e testados com SQLite e, em seguida, comutados para o MySQL / PostgreSQL em produção, que é elegante e conveniente. Nenhuma abordagem tem algumas questões. Todos os RDBMs amplamente utilizados, são projetos altamente sofisticados e maduros, com milhares de horas de homem colocados em desenvolvimento, teste e otimização. A maioria deles introduz muitas melhorias úteis no padrão SQL (tipos não padrão, sintaxe alternativa, etc), que podem ser perdidos ao usar uma camada de abstração unificada (que, BTW, pode ser uma fonte de novos bugs). O código limpo e a independência da plataforma, podem ser reduzidos de funcionalidade do seu sistema de banco de dados. Ao escrever rápido, pequenas aplicações, muitas vezes escolho meu back-end RDBMS com base em uma de suas características distintivas, o que fará com que meu trabalho fosse mais rápido, então eu procurei um orm que fez com que você seja mais fácil, em vez de mais difícil. Alguns podem argumentar. que todos os orms acima mencionados tenham hacks integrados (ou até mesmo recursos :)) para superar todos esses problemas. Isso é verdade, mas não é apenas a maneira como eles foram projetados para serem usados - por isso, usando esses hacks, você não tem mais limpo, código independente do motor, mas às vezes é ainda mais feio e menos sustentável do que o orm de baixo nível. Recursos que foram deixados de fora * Não há cache de objeto, sem armazenamento * Não há maneira de personalizar consultas de seleção sem escrita SQL * Não há gerações automáticas de banco de dados, RDBMS * mysql * sqlite * postgesql (trabalho em andamento) Aqui estão alguns recursos principais de "xrecord" : · Introspecção completa, nenhuma definição modelo no Python requerido, · Mapeamento de chave estrangeira automática, tanto nos objetos referenciados quanto referenciados, · Detecção automática de relacionamento muitos-para-muitos, · Referências de chave estrangeira opcional em cache, · Facilmente estender as classes de registro geradas para fornecer funcionalidade extra para seus objetos, · Facilmente definir relacionamentos FK e MTM, que foram deixados de fora na definição do banco de dados, · Mapeamento de objetos de qualquer instrução SQL, · Pode ser usado sem escrever uma única linha de SQL, · Chaves primárias de várias colunas, · Objetos de conexão de banco de dados projetados para aplicativos de longa duração Requisitos: · Pitão


Xrecord. Software Relacionado