Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Duvida a respeito da diferença dos padrões de ODM e ORM

Estou fazendo o curso "ORM com Node.js: desenvolvendo uma API com Sequelize e SQLite" e fiquei com uma dúvida. O padrão de migrações utilizado pelo sequelize-cli é aplicável para ODMs?

O sequelize-cli é uma ferramenta que facilita o desenvolvimento de aplicações com o Sequelize, um ORM (Object Relational Mapper) para bancos de dados relacionais. O padrão de migrações utilizado pelo sequelize-cli consiste em definir as alterações no banco de dados em arquivos separados, chamados de migrações. Essas migrações são aplicadas ao banco de dados pelo sequelize-cli, de forma automática ou manual.

O padrão de migrações também pode ser utilizado por ODMs (Object Document Mappers), como o Mongoose? Se sim, qual o pacote que faz esse tipo de função? Além disso gostaria de saber também se isso é uma pratica comum de se realizar em projetos com NoSQL?

2 respostas
solução!

Olá, Guilherme! Tudo joia?

Excelente pergunta! A diferença entre ODM e ORM é uma questão fundamental quando se trata de mapeamento de objetos em bancos de dados.

ORM (Object Relational Mapping) é utilizado para bancos de dados relacionais, como o SQLite que você está utilizando no curso. Ele mapeia as tabelas do banco de dados para objetos do código. O Sequelize é um exemplo de ORM.

Já o ODM (Object Document Mapping) é utilizado para bancos de dados NoSQL, que são baseados em documentos, como o MongoDB. Ele mapeia os documentos do banco de dados para objetos do código.

Sobre a sua dúvida específica, o padrão de migrações do sequelize-cli, de fato, facilita muito o desenvolvimento com Sequelize. No entanto, ele é específico para ORMs e não é diretamente aplicável a ODMs.

No caso de ODMs, como o Mongoose para MongoDB, a estratégia de migração pode ser um pouco diferente. Existem pacotes específicos para migração em MongoDB, como o migrate-mongo, que você pode usar para criar, aplicar e reverter migrações. Para mais informações sobre a biblioteca, acesse o seguinte link:

No entanto, é importante ressaltar que a necessidade de migrações em bancos de dados NoSQL é menos comum do que em bancos de dados relacionais, devido à natureza flexível dos bancos de dados NoSQL. Mas sim, é uma prática que pode ser realizada em projetos NoSQL, especialmente quando há necessidade de manter a consistência dos dados em diferentes versões do banco de dados.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Essa resposta foi bem mais do que esclarecedora, obrigado