Kononnable/typeorm-model-generator

Maintenance phase

Kononnable opened this issue ยท 15 comments

typeorm-model-generator is entering maintenance phase

What does that mean?

I(@Kononnable ) am not planning to add any more features to typeorm-model-generator. Some minor changes proposed in PRs might get merged, but any complex feature will get rejected. I'll try to check issues/PRs from time to time, but truth be told this project isn't currently my main priority.
I think typeorm-model-generator is in a pretty good state, there are some quirks and bugs, but it's mostly easy to go around them. Basic features(common features for this kind of software) are there, if anyone needs more complex ones they can easily implement them on their own(in a non generic way, customized to theirs build environment - USECASES).

Why?

I don't think typeorm should be considered as option for new projects other than prof of concepts or some workshop exercises. Typeorm is in a bad place. It's been like that for few years and I don't believe this will change any time soon(if ever). There are even some long standing bugs which can result in data loss. Some of the fixes are blocked by inability to introduce breaking changes - next branch(planned 0.3.0 version) has been with us for 3 years now and yet there are no concrete plans on releasing it or throwing that code away.
I've decided to mark this project as maintenance only to make sure that any newcomers think twice before choosing typeorm for their ORM.

Are there any good ORM alternatives you suggest for Typescript?

There are alternatives, but I haven't used any of them so I don't have opinion on them.
Side note: I haven't used typeorm in any of my work either (other then typeorm-model-generator or typeorm itself).

Just to name a few alternatives(alphabetical order):

  • knex (query builder, not an ORM)
  • mikro-orm
  • objectionjs
  • prisma
  • sequelize

typeorm-model-generator is entering maintenance phase

What does that mean?

I(@Kononnable ) am not planning to add any more features to typeorm-model-generator. Some minor changes proposed in PRs might get merged, but any complex feature will get rejected. I'll try to check issues/PRs from time to time, but truth be told this project isn't currently my main priority.
I think typeorm-model-generator is in a pretty good state, there are some quirks and bugs, but it's mostly easy to go around them. Basic features(common features for this kind of software) are there, if anyone needs more complex ones they can easily implement them on their own(in a non generic way, customized to theirs build environment - USECASES).

Why?

I don't think typeorm should be considered as option for new projects other then prof of concepts or some workshop exercises. Typeorm is in a bad place. It's been like that for few years and I don't believe this will change any time soon(if ever). There are even some long standing bugs which can result in data loss. Some of the fixes are blocked by inability to introduce breaking changes - next branch(planned 0.3.0 version) has been with us for 3 years now and yet there are no concrete plans on releasing it or throwing that code away.
I've decided to mark this project as maintenance only to make sure that any newcomers think twice before choosing typeorm for their ORM.

A pity but I'm completely agree with your motivation.
Unfortunately the future of TypeORM is unknown.

Are there any good ORM alternatives you suggest for Typescript?

I think Prisma is the best choice (now).
The only thing that I don't really like is the lack of class decorators -> You are forced to use the generated schema.

There are even some long standing bugs which can result in data loss.

Do you have any issue #'s for some of these bugs?

I don't keep a list. Results of a quick search(I recall some of them, not all):

  • typeorm/typeorm#2737 - dropping and recreating column on every schema sync(which makes it unusable), as I recall same thing happens with migrations(you have to manually delete those lines every time), fixed on next branch(with breaking changes)
  • typeorm/typeorm#3095 - origin of a bug found, fixing it might be a breaking change, works as expected on next branch
  • typeorm/typeorm#5112 - you might encounter DoS if connection to db dies - occasional network problems or environment which can put container to sleep mode(serverless)
  • typeorm/typeorm#2872 - ignoring some query filters

@Kononnable - Just wanted to share with you that running your npx command for MySQL just saved me countless hours. I was about to build this same thing out manually and found your repo. Ran the npx command and first try it generated exactly what I needed like magic. Just wanted to share my appreciation. Keep up the good work, this is an incredible tool.

Are there any good ORM alternatives you suggest for Typescript?

I think Prisma is the best choice (now).
The only thing that I don't really like is the lack of class decorators -> You are forced to use the generated schema.

What is your opinion on Sequelize?

anwam commented

@Kononnable - Just wanted to share with you that running your npx command for MySQL just saved me countless hours. I was about to build this same thing out manually and found your repo. Ran the npx command and first try it generated exactly what I needed like magic. Just wanted to share my appreciation. Keep up the good work, this is an incredible tool.

couldn't agree more!

stale commented

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

There are alternatives, but I haven't used any of them so I don't have opinion on them.
Side note: I haven't used typeorm in any of my work either (other then typeorm-model-generator or typeorm itself).

Just to name a few alternatives(alphabetical order):

  • knex (query builder, not an ORM)
  • mikro-orm
  • objectionjs
  • prisma
  • sequelize

Well, I would consider using TypeORM instead of Sequelize any day, but I do have to admit that it could become the next Sequelize. TypeORM has almost the same amount of stars on GitHub as Sequelize, but also, almost the same amount of issues, which I find concerning. I've had way less issues with TypeORM though, and it seems to be more active than Sequelize.

stale commented

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

For OracleDB there are not so many choices. With the already released 0.3 version, would you reconsider @Kononnable ?

This is a nice project and can be adapted to be used with any other ORM. Actually I forked it back in the days to generate models for Bookshelf.

ur cool