TDC2017 | São Paulo - Trilha NODEJS How we figured out we had a SRE team at - Não apenas NoSQL - Conheça os pacotes de ORM do Node.js para os principais bancos de dados relacionais
O documento apresenta uma comparação entre os pacotes Sequelize e Bookshelf, que são bibliotecas ORM para Node.js para bancos de dados relacionais. O Sequelize suporta mais bancos de dados e possui uma configuração e uso mais simples, enquanto o Bookshelf requer plugins adicionais e tem uma documentação mais avançada. Ambos permitem consultas, inclusão, atualização e exclusão de dados, bem como operações SQL nativas e procedimentos armazenados.
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...tdc-globalcode
Mais conteúdo relacionado
Semelhante a TDC2017 | São Paulo - Trilha NODEJS How we figured out we had a SRE team at - Não apenas NoSQL - Conheça os pacotes de ORM do Node.js para os principais bancos de dados relacionais
Semelhante a TDC2017 | São Paulo - Trilha NODEJS How we figured out we had a SRE team at - Não apenas NoSQL - Conheça os pacotes de ORM do Node.js para os principais bancos de dados relacionais (20)
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
TDC2017 | São Paulo - Trilha NODEJS How we figured out we had a SRE team at - Não apenas NoSQL - Conheça os pacotes de ORM do Node.js para os principais bancos de dados relacionais
1. Globalcode – Open4education
Trilha Node.js
Não apenas NoSQL - Conheça os pacotes de ORM do
Node.js para os principais bancos de dados relacionais
São Paulo - 2017
28. Globalcode – Open4education
28Sequelize
Operações com SQL Nativo
sequelize.query(
'SELECT * FROM jogador where id_clube=2',
{ model: Jogador }
).then( jogadores => {
// faça algo com o array "jogadores"
}
);
29. Globalcode – Open4education
29Sequelize
Operações com SQL Nativo
sequelize.query(
'UPDATE jogador SET id_clube = 3 WHERE idclube is
null' ).spread( (resultados, linhas) => {
// “resultados” seria a lista de linhas num resultado
// “linhas” linhas afetadas
});
30. Globalcode – Open4education
30Sequelize
Stored Procedures e Functions
sequelize.query(
'CALL/Select minha_procedure_ou_funcao();'
).then( resposta => {
// resposta c/ o retorno da procedure ou function
}).error(function(err){
// faça algo com o “err”
}
);
33. Globalcode – Open4education
33Sequelize
Pontos fracos
Convenção CamelCase ao invéis de snake_case
createdAt, updatedAt, deletedAt
obrigatórios por padrão
Nomes de tabelas no plural por padrão
35. Globalcode – Open4education
35Bookshelf
Configuração e instalação
var knex = require('knex')({
client: 'mysql',
connection: {
host: '127.0.0.1',
user: 'login',
password: 'senha',
database: 'base'
}
});
var bookshelf = require('bookshelf')(knex);
36. Globalcode – Open4education
36Bookshelf
ORM
Por padrão, não define tipos de campos. Para isso,
precisamos do “bookshelf-schema” plugin
Com o “bookshelf-schema” existem 11 tipos
45 Validadores. É possível criar um customizado
51. Globalcode – Open4education
51Bookshelf
Pontos fracos
Não é possível usar parâmetros de saída em
Stored Procedures
Sem suporte a Oracle nem SQL Server
Configuração padrão é muito básica. Necessidade
de vários “plugins” (outros pacotes)
52. Globalcode – Open4education
52Bookshelf
Pontos fracos
Convenções pobres
(ex: deve-se sempre informar o nome da tabela)
Documentação muito avançada para iniciantes
Não é claro que funcionalidades da Knex podem
ser usadas