awslabs / dynamodb-data-mapper-js

A schema-based data mapper for Amazon DynamoDB.
https://awslabs.github.io/dynamodb-data-mapper-js/
Apache License 2.0
816 stars 106 forks source link

Is this project Abandoned? #201

Open andreujuanc opened 3 years ago

andreujuanc commented 3 years ago

Hi,

Had a couple of projects using dynamo and found this library to be time saving. The only problem I see is that it looks like is not being actively supported.

Is that so?

Best

softmarshmallow commented 3 years ago

+1 for this. DynamoDB is great for serverless framework, but seriously. It sucks with aws-sdk implementation. Simply not usable. Why is this project not being maintained and adopted as default aws-sdk package?

softmarshmallow commented 3 years ago

I'm switching to https://github.com/dynamoose/dynamoose

andreujuanc commented 3 years ago

I checked it out a few weeks ago. It just seems overkill for what I needed. I guess it would have to do since it's the only options.

There are a few things about this project that i liked, namely the different packages it contains, so for example I can use the Marshaller only, and so on.

softmarshmallow commented 3 years ago

What you need is ORM, which the dynamoose is exactly what it is. plus, it is pretty compact.

I don't believe aws guys anymore, they just don't maintain their projects. ugh.

whimzyLive commented 3 years ago

@andreujuanc have a look at https://github.com/typedorm/typedorm

michaelwittwer commented 3 years ago

@andreujuanc https://github.com/shiftcode/dynamo-easy could be another option, unfortunately the code is not yet divided into packages, this should not be a problem if you use some kind of bundler with tree-shaking capability.

disclosure: I am one of the authors of this library

softmarshmallow commented 3 years ago

@whimzyLive As i know, typeorm does not support dynamodb. does it?

whimzyLive commented 3 years ago

@softmarshmallow this isn't a TypeORM, it is TypeDORM.

TypeDORM

Strongly typed Object Relational Mapper for DynamoDB - inspired by TypeORM

This is something we have been using internally here at nextfaze and decided to open source it only few weeks ago.

aecorredor commented 3 years ago

If you're doing single table design you might like https://github.com/jeremydaly/dynamodb-toolbox more than dynamoose.

andreujuanc commented 3 years ago

Amazing info @whimzyLive @michaelwittwer and @aecorredor

I love all the approaches here. I will test them out.

I'm actually building a "toolkit"/template that has a bunch of defaults, and was looking into adding this project as default. But looks it's dead, so instead will use one of yours, but definitely list them all there.

karocksjoelee commented 3 years ago

This issue is indeed more helpful than the AWS document

navneetthakur99 commented 3 years ago

Aweful..though so many good features, it is hard to make it work with aws-sdk and javascript as nodejs project. struggling between bundling and using it as node modules for lambda. Not expected from AWS...Abandoning it already...there are hardly any sample projects..just loads of gyaan..

WaterBleu commented 3 years ago

does any of the ones mentioned above deal with serverless? having to write table construct in serverless.yml seems silly

whimzyLive commented 3 years ago

@WaterBleu It's on a road map of TypeDORM. Soon, You will be able to provision tables using TypeDORM, but no fixed timeline yet.

softmarshmallow commented 3 years ago

Just a note for the community - DONT USE DYNAMOOSE. I've built dozens of projects with dynamoose, well works well, but you really won't need to use it. and won't like a single api from it. it's well documented, but poorly designed.

I'll just wait for prisma to support dynamoDB

jssuttles commented 3 years ago

Can the authors of this package include an abandoned notice in the Readme? I spent 5 months developing with this package to discover that it's no longer supported: https://github.com/aws/aws-sdk-js-v3/issues/1085#issuecomment-822663101.

acaciobrito commented 3 years ago

I just implemented this package to find out it is abandoned :(

ArsenyYankovsky commented 1 year ago

We have been using this ODM in production, but seeing it wasn't supported anymore we decided to fork this package and our fork is called nova-odm.

What we have done so far:

The overall goal is to keep it interface-compatible with this project (since we generally like this API), but keep it up-to-date and supported. The switch is rather easy due to interface compatibility, you juse need to replace depencendies and imports like this:

@aws/dynamodb-data-mapper -> @nova-odm/mapper
@aws/dynamodb-data-mapper-annotations -> @nova-odm/annotations
@aws/dynamodb-expressions -> @nova-odm/expressions

Feel free to raise issues and send us PRs.