TurboGears - SQLAlchemy

Embora seja possível usar SQL no aplicativo TurboGears para executar operações CRUD em qualquer banco de dados relacional, é aconselhável usar SQLAlchemy, um kit de ferramentas Python é um mapeador de relação de objeto poderoso que oferece aos desenvolvedores de aplicativos todo o poder e flexibilidade do SQL. Além do suporte para bancos de dados baseados em SQL por meio de SQLAlchemy, o TurboGears também oferece suporte a banco de dados MongoDB por meio de Ming. Nesta seção, a funcionalidade do SQLAlchemy é discutida.

O que é ORM (Object Relational Mapping)?

A maioria das plataformas de linguagem de programação são orientadas a objetos. Os dados nos servidores RDBMS, por outro lado, são armazenados como tabelas. O mapeamento de relação de objeto é uma técnica de mapeamento de parâmetros de objeto para a estrutura de tabela RDBMS subjacente. Uma API ORM fornece métodos para realizar operações CRUD sem a necessidade de escrever instruções SQL brutas.

Quando um projeto TurboGears é criado usando o comando 'quickstart' do kit de ferramentas da caixa de engrenagens, o suporte SQLAlchemy é habilitado por padrão pelas seguintes configurações -

config['use_sqlalchemy'] = True
config['sqlalchemy.url'] = 'sqlite:///devdata.db'

O projeto de 'início rápido' também cria um pacote de modelos dentro dele. Por exemplo, um projeto 'Hello' terá Hello \ hello \ model. Os seguintes arquivos são criados neste pacote -

  • __init__.py- É aqui que o acesso ao banco de dados é configurado. Os objetos de modelo do aplicativo são importados neste módulo. Também possui um DBSession - um gerenciador de sessão global e também um DeclarativeBase, que é uma classe base para todas as classes do modelo.

  • auth.py- Aqui é onde os modelos usados ​​pela pilha de autenticação são definidos. Modelos de banco de dados adicionais são armazenados neste pacote, como um módulo separado, e adicionados no __init__.py.