Release of Sequelize v7.0.0-alpha.40
Published on April 11, 2024 by Sascha Depold
7.0.0-alpha.40 (2024-04-11)
Bug Fixes
parse the
url
option based on the dialect (#17252) (f05281c)feat(mssql)!: move mssql to the
@sequelize/mssql
package (#17206) (8631f5a), closes #17206feat(ibmi)!: move ibmi to the
@sequelize/ibmi
package (#17209) (21772a5), closes #17209feat(mysql)!: move mysql to the
@sequelize/mysql
package (#17202) (5c7830e), closes #17202feat(mariadb)!: move mariadb to the
@sequelize/mariadb
package (#17198) (46ea159), closes #17198
Features
- add
ModelRepository#_UNSTABLE_bulkDestroy
and manualON DELETE
handling (#17078) (45ac01a) - cli: add
seed generate
command (#17262) (b07ad40) - create
@sequelize/cli
as a replacement forsequelize-cli
(#17195) (ec00aed) - db2: move db2 to the
@sequelize/db2
package (#17197) (6aa4ced) - move postgres to the
@sequelize/postgres
package (#17190) (721d560) - mssql: upgrade to tedious 18 (#17137) (65e19a1)
- re-add the ability to override the connector library (#17219) (b3c3362)
- rename
@sequelize/sqlite
to@sequelize/sqlite3
,@sequelize/ibmi
to@sequelize/db2-ibmi
, ban conflicting options (#17269) (1fb48a4) - type options per dialect, add "url" option, remove alternative Sequelize constructor signatures (#17222) (b605bb3)
BREAKING CHANGES
db2
,ibmi
,snowflake
andsqlite
do not accept theurl
option anymore- The sequelize constructor only accepts a single parameter: the option bag. All other signatures have been removed.
- Setting the sequelize option to a string representing a URL has been replaced with the
"url"
option. - The
dialectOptions
option has been removed. All options that were previously in that object can now be set at the root of the option bag, like all other options. - All dialect-specific options changed. This includes at least some credential options that changed.
- Which dialect-specific option can be used is allow-listed to ensure they do not break Sequelize
- The sequelize pool is not on the connection manager anymore. It is now directly on the sequelize instance and can be accessed via
sequelize.pool
- The
sequelize.config
field has been removed. Everything related to connecting to the database has been normalized tosequelize.options.replication.write
(always present) andsequelize.options.replication.read
(only present if read-replication is enabled) sequelize.options
is now fully frozen. It is no longer possible to modify the Sequelize options after the instance has been created.sequelize.options
is a normalized list of option. If you wish to access the options that were used to create the sequelize instance, usesequelize.rawOptions
- The default sqlite database is not
':memory:'
anymore, butsequelize.sqlite
in your current working directory. - Setting the sqlite database to a temporary database like
':memory:'
or''
requires configuring the pool to behave like a singleton, and disallowed read replication - The
match
option is no longer supported bysequelize.sync
. If you made use of this feature, let us know so we can design a better alternative. - The
dialectModulePath
has been fully removed to improve compatibility with bundlers. - The
dialectModule
option has been split into multiple options. Each option is named after the npm library that is being replaced. For instance,@sequelize/postgres
now acceptspgModule
.@sequelize/mssql
now acceptstediousModule
- Instead of installing the
mssql
package, users need to install@sequelize/mssql
. - Instead of installing the
odbc
package, users need to install@sequelize/ibmi
. - Instead of installing
mysql2
, users need to install@sequelize/mysql
. - Instead of installing the
mariadb
package, users need to install@sequelize/mariadb.