Sequelize é um ORM maduro e amplamente usado, baseado em promises, para Node.js. Ele é anterior à era do TypeScript, então é testado em batalha e rico em recursos, mas sua história de tipagem e sua verbosidade são seus pontos fracos.
Sequelize é um ORM maduro e amplamente usado, baseado em promises, para Node.js. Ele é anterior à era do TypeScript, então é testado em batalha e rico em recursos, mas sua história de tipagem e sua verbosidade são seus pontos fracos.
sequelize-cli).const User = sequelize.define("User", {
email: { type: DataTypes.STRING, unique: true },
});
User.hasMany(Post);
const users = await User.findAll({
where: { email: "[email protected]" },
include: [Post], // eager-load da associação
});
sequelize-typescript ou generics manuais) em vez de nativos; modelos costumam ser tipados de forma frouxa e propensos a erros.sync().include pode gerar joins grandes e lentos se não for moldado com cuidado.Projetos em JavaScript (não-TS), times que querem um ORM comprovado e estável com amplo suporte a bancos de dados, e apps em que a maturidade do ecossistema e a documentação importam mais do que a segurança de tipos de ponta a ponta.
O Sequelize costuma ser a escolha "segura e sem graça" — e isso é uma força legítima para times que valorizam estabilidade e um ecossistema profundo mais do que tipagem de ponta. Entrevistadores querem ver que você consegue pesar essa maturidade contra seus custos reais: ergonomia mais fraca de TypeScript, boilerplate e uma abstração que vaza em SQL complexo. Nomear esses trade-offs mostra que você escolhe ferramentas pelas restrições do projeto, não apenas pela reputação.
Uma biblioteca de perguntas de entrevista de TI com respostas detalhadas — de Júnior a Sênior.
Doar