You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the feature you'd like to see implemented
SQL has built in temporal table support in some of the dialects.
This allows for the capture of history/changes made in a table (system versioned), tracking/enforcing data with a time period (application time/period) or both (bi temporal).
There is the option of using bonaval/sequelize-temporal which uses hooks to accomplish history/changes, but it doesn't have the full temporal table support.
The advantages of temporal tables managed at SQL level is:
The database is in charge of managing the history data.
Table can we queried to retrieve point in time values
The largest disadvantage is that not all dialects support this feature.
Currently I have found that MSSQL, DB2 and MariaDB support temporal tables however the implementation is different (in the case of MariaDB its very different and lacks support for queries for getting the periods).
I don't know enough about DB2 and MariaDB however I have been using system versioned temporal tables in MSSQL successfully, PR to follow.
Describe why you would like this feature to be added to Sequelize
The advantages of temporal tables managed at SQL level is:
The database is in charge of managing the history data.
Table can we queried to retrieve point in time values using existing find/findByPk/findOne queries.
It may be possible to move to a separate package; I don't know enough around the code splitting in Sequelize to see if it's possible to get the same level of integration with the find queries and table creation/altering.
If the same level of integration is not possible, it would be better off using bonaval/sequelize-temporal as this should work with any dialect.
Is this feature dialect-specific?
No. This feature is relevant to Sequelize as a whole.
Yes. This feature only applies to the following dialect(s): MSSQL supports system versioned temporal tables. DB2 supports application period, system versioned and bi temporal tables MariaDB does supports application period, system versioned and bi temporal it however it lacks some features which would make it hard to implement for.
Would you be willing to resolve this issue by submitting a Pull Request?
No, I don't have the time, and I understand that I will need to wait until someone from the community or maintainers is interested in implementing my feature.
Indicate your interest in the addition of this feature by adding the 👍 reaction. Comments such as "+1" will be removed.
The text was updated successfully, but these errors were encountered:
Issue Creation Checklist
Feature Description
Temporal Table support
Describe the feature you'd like to see implemented
SQL has built in temporal table support in some of the dialects.
This allows for the capture of history/changes made in a table (system versioned), tracking/enforcing data with a time period (application time/period) or both (bi temporal).
There is the option of using bonaval/sequelize-temporal which uses hooks to accomplish history/changes, but it doesn't have the full temporal table support.
The advantages of temporal tables managed at SQL level is:
The largest disadvantage is that not all dialects support this feature.
Currently I have found that MSSQL, DB2 and MariaDB support temporal tables however the implementation is different (in the case of MariaDB its very different and lacks support for queries for getting the periods).
I don't know enough about DB2 and MariaDB however I have been using system versioned temporal tables in MSSQL successfully, PR to follow.
Describe why you would like this feature to be added to Sequelize
The advantages of temporal tables managed at SQL level is:
It may be possible to move to a separate package; I don't know enough around the code splitting in Sequelize to see if it's possible to get the same level of integration with the find queries and table creation/altering.
If the same level of integration is not possible, it would be better off using bonaval/sequelize-temporal as this should work with any dialect.
Is this feature dialect-specific?
MSSQL supports system versioned temporal tables.
DB2 supports application period, system versioned and bi temporal tables
MariaDB does supports application period, system versioned and bi temporal it however it lacks some features which would make it hard to implement for.
Would you be willing to resolve this issue by submitting a Pull Request?
Indicate your interest in the addition of this feature by adding the 👍 reaction. Comments such as "+1" will be removed.
The text was updated successfully, but these errors were encountered: