sequelize / sequelize

Feature-rich ORM for modern Node.js and TypeScript, it supports PostgreSQL (with JSON and JSONB support), MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB (v6), DB2 and DB2 for IBM i.

Home Page:https://sequelize.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Roadmap

mickhansen opened this issue · comments

These are the current major priorities for the project.

Plugin architecture decision

We need to decide on a final plugin architecture

ES6 support

  • Support to define models as classes. #5924 #6093

JSONB

#3471

Polymorph support

  • Definition API design
  • Include API design
  • Implementation & tests

Table schema changes

New and more well tested system for changing table schemas

  • API design & calls
  • Implementation & tests

SQL Unit tests

To speed up our tests suite we will be moving more tests to non-database hitting sql generation unit tests.
We need to figure out an effective setup that groups tests better than the current query generator tests.
Likely group by feature/specific call rather than per dialect.

Raw support

We should have better nesting/deduplication support for raw queries.
It should be trivial to use a findAll statement with raw: true and get the same result datawise as with instances (but without being wrapped in instances). Of course without virtual fields and getters.

Datatypes refactoring

We need to provide a better system for both users and dialects to provide new data types.

Discussion: #2992
Implementation: #3014

include.seperate #4125

Row duplication results in a lot of overhead when parsing the rows.
We should provide a include.seperatre: true option that would run the include after the main query has been done, this will allow the user to pick his trade off.

JSONB and schema synchronization with the Sequelize models would be awesome.

@fixe Ah yes, some sort of schema synchronization would be great too, diffing or some other.

+1 for JSONB

👍 for JSONB

Please open a separate issue for tracking JSONB support, we would like to offer a bounty for it through bountysource. Thanks.

@pauliusuza We have done so.

@mickhansen 500$ bounty posted on #3471 . Thanks!

@pauliusuza I saw, very generous - That should enable us to focus on it :)

@mickhansen @janmeier Do we have an idea/starting plan for how we plan to tackle #4125 (include.seperate?) My organization may be interested in posting another $500 bounty if we do.

@bomattin It's on my list since i'll likely need it for https://github.com/mickhansen/graphql-sequelize but i'm working on limit/order support for includes first.

@mickhansen Roger that. Have you get a separate issue for limit/order support? I can provide some insight on that.

@bomattin Not currently, just hacking away on it locally for hasMany associations, seeing if i can get that to work :)

@bomattin #4156 i'm working on it here (did some refactoring first), would love any help on how to design this, AFAICT it's only possible with postgres lateral join?

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. If this is still an issue, just leave a comment 🙂

Could table prefixes be added too?