Changelog
CHANGELOG
Last updated
Was this helpful?
CHANGELOG
Last updated
Was this helpful?
add missing "comment" field to QB clone method () (), closes
avoid early release of PostgresQueryRunner () () ()
Error when sorting by an embedded entity while using join and skip/take () (), closes
Fix CLI query command TypeError () ()
get length attribute of postgres array columns () (), closes
handle overlapping property / database names in querybuilder () (), closes
improve stack traces when using persist executor () ()
order should allow only model fields, not methods () (), closes
resolve migration for UpdateDateColumn without ON UPDATE clause () (), closes
resolves Postgres sequence identifier length error () (), closes
return 'null' (instead of 'undefined') on lazy relations that have no results () () ()
support MongoDB DNS seed list connection () (), closes
data-api: Fixed how data api driver uses and reuses a client () ()
use default import of yargs for --help () ()
aliases for very long relation names may be replaced with hashed strings.
Fix: avoid collisions by using longest possible hash.
Retain more entropy by not using only 8 characters of hashed aliases.
fix performance issue when inserting into raw tables with QueryBuilder
added lock
option in FindOptions
updated all dependencies
removed sql-function-support (() =>
syntax) in parameters to prevent security considerations
added uuidExtension
option to Postgres connection options, which allows TypeORM to use the newer pgcrypto
extension to generate UUIDs
fixes returning invalid delete result
reverted lazy loading properties not enumerable feature to fix related bugs
added CockroachDB support
replaced backend-only drivers by dummy driver in browser builds
fixed signatures of update
/insert
methods, some find*
methods in repositories, entity managers, BaseEntity and QueryBuilders
fixed broken findOne method with custom join column name
fixed missing export of Exclusion
decorator
hot fix for mysql schema sync bug
allowed caching options from environment variable (#3321)
more accurate type for postgres ssl parameters
added support for ON UPDATE CASCADE
relations for mysql
repository.save
returns union type
added reuse of lazy relationships
added ability to disable prefixes for embedded columns
migrations can be tested
migration run returns array of successful migrations
added debug ENV option
added support for postgres exclusion constraints
bug fixes
documentation updates
fixed issue with mysql primary generated uuid ER_TOO_LONG_KEY (#1139)
UpdateEvent
now returns with contains updatedColumns
and updatedRelations
added support for specifying isolation levels in transactions
added SQLCipher connection option for sqlite
added driver to support Expo platform for sqlite
added support for nativescript
bug fixes
documentation updates
added support for rowversion type for mssql (#2198)
fixed wrong aggregate and count methods signature in mongodb
added support for enum arrays in postgres
fixed issue with lazy relations (#1953)
fixed issue with migration file generator using a wrong class name (#2070)
fixed issue with unhandled promise rejection warning on postgres connection (#2067)
fixed bug with relation id loader queries not working with self-referencing relations
fixed issues with zerofill and unsigned options not available in column options (#2049)
fixed issue with lazy relation loader (#2029)
fixed issue with closure table not properly escaped when using custom schema (#2043)
fixed issue #2053
fixed bug with selecting default values after persistence when initialized properties defined
fixed bug with find operators used on relational columns (#2031)
fixed bug with DEFAULT as functions in mssql (#1991)
fixing bugs with STI
fixed bug in mysql schema synchronization
fixed bug with STI
fixed bug with lazy relations inside transactions
completely refactored, improved and optimized persistence process and performance.
removed cascade remove functionality, refactored how cascades are working.
removed cascadeRemove
option from relation options.
replaced cascadeAll
with cascade: true
syntax from relation options.
replaced cascadeInsert
with cascade: ["insert"]
syntax from relation options.
replaced cascadeUpdate
with cascade: ["update"]
syntax from relation options.
now when one-to-one or many-to-one relation is loaded and its not set (set to null) ORM returns you entity with relation set to null
instead of undefined property
as before.
now relation id can be set directly to relation, e.g. Post { @ManyToOne(type => Tag) tag: Tag|number }
with post.tag = 1
usage.
now you can disable persistence on any relation by setting @OneToMany(type => Post, post => tag, { persistence: false })
. This can dramatically improve entity save performance.
loadAllRelationIds
method of QueryBuilder
now accepts list of relation paths that needs to be loaded, also disableMixedMap
option is now by default set to false, but you can enable it via new method parameter options
now returning
and output
statements of InsertQueryBuilder
support array of columns as argument
now when many-to-many and one-to-many relation set to null
all items from that relation are removed, just like it would be set to empty array
fixed issues with relation update from one-to-one non-owner side
now version column is updated on the database level, not by ORM anymore
now created date and update date columns is set on the database level, not by ORM anymore (e.g. using CURRENT_TIMESTAMP
as a default value)
now InsertQueryBuilder
, UpdateQueryBuilder
and DeleteQueryBuilder
automatically update entities after execution.
This only happens if real entity objects are passed.
Some databases (like mysql and sqlite) requires a separate query to perform this operation.
If you want to disable this behavior use queryBuilder.updateEntity(false)
method.
This feature is convenient for users who have uuid, create/update date, version columns or columns with DEFAULT value set.
now InsertQueryBuilder
, UpdateQueryBuilder
and DeleteQueryBuilder
call subscribers and listeners.
You can disable this behavior by setting queryBuilder.callListeners(false)
method.
Repository
and EntityManager
method .findOneById
is deprecated and will be removed in next 0.3.0 version.
Use findOne(id)
method instead now.
InsertQueryBuilder
now returns InsertResult
which contains extended information and metadata about runned query
UpdateQueryBuilder
now returns UpdateResult
which contains extended information and metadata about runned query
DeleteQueryBuilder
now returns DeleteResult
which contains extended information and metadata about runned query
now insert / update / delete queries built with QueryBuilder can be wrapped into a transaction using useTransaction(true)
method of the QueryBuilder.
insert
, update
and delete
methods of QueryRunner
now use InsertQueryRunner
, UpdateQueryRunner
and DeleteQueryRunner
inside
removed deprecated removeById
, removeByIds
methods
removed deleteById
method - use delete(id)
method instead now
removed updateById
method - use update(id)
method instead now
changed snakeCase
utility - check table names after upgrading
added ability to disable transaction in save
and remove
operations
added ability to disable listeners and subscribers in save
and remove
operations
added ability to save and remove objects in chunks
added ability to disable entity reloading after insertion and updation
class table inheritance functionality has been completely dropped
single table inheritance functionality has been fixed
@SingleEntityChild
has been renamed to @ChildEntity
@DiscriminatorValue
has been removed, instead parameter in @ChildEntity
must be used, e.g. @ChildEntity("value")
@DiscriminatorColumn
decorator has been removed, use @TableInheritance
options instead now
skipSync
in entity options has been renamed to synchronize
. Now if it set to false schema synchronization for the entity will be disabled.
By default its true.
now array initializations for relations are forbidden and ORM throws an error if there are entities with initialized relation arrays.
@ClosureEntity
decorator has been removed. Instead @Entity
+ @Tree("closure-table")
must be used
added support for nested set and materialized path tree hierarchy patterns
breaking change on how array parameters work in queries - now instead of (:param) new syntax must be used (:...param).
This fixed various issues on how real arrays must work
changed the way how entity schemas are created (now more type-safe), now interface EntitySchema is a class
added @Unique
decorator. Accepts custom unique constraint name and columns to be unique. Used only on as
composite unique constraint, on table level. E.g. @Unique("uq_id_name", ["id", "name"])
added @Check
decorator. Accepts custom check constraint name and expression. Used only on as
composite check constraint, on table level. E.g. @Check("chk_name", "name <> 'asd'")
fixed Oracle
issues, now it will be fully maintained as other drivers
implemented migrations functionality in all drivers
CLI commands changed from migrations:create
, migrations:generate
, migrations:revert
and migrations:run
to migration:create
, migration:generate
, migration:revert
and migration:run
changed the way how migrations work (more info in #1315). Now migration table contains id
column with auto-generated keys, you need to re-create migrations table or add new column manually.
entity schemas syntax was changed
dropped support for WebSql and SystemJS
@Index
decorator now accepts synchronize
option. This option need to avoid deleting custom indices which is not created by TypeORM
new flag in relation options was introduced: { persistence: false }
. You can use it to prevent any extra queries for relations checks
added support for UNSIGNED
and ZEROFILL
column attributes in MySQL
added support for generated columns in MySQL
added support for ON UPDATE
column option in MySQL
added SPATIAL
and FULLTEXT
index options in MySQL
added hstore
and enum
column types support in Postgres
added range types support in Postgres
TypeORM now uses { "supportBigNumbers": true, "bigNumberStrings": true }
options by default for node-mysql
Integer data types in MySQL now accepts width
option instead of length
junction tables now have onDelete: "CASCADE"
attribute on their foreign keys
ancestor
and descendant
columns in ClosureTable marked as primary keys
unique index now will be created for the join columns in ManyToOne
and OneToOne
relations
fixed bug in InsertQueryBuilder
fixed timestamp issues
fixed issue with entity order by applied to update query builder
security and bug fixes
security and bug fixes
sqljs
driver now enforces FK integrity by default (same behavior as sqlite
)
fixed issue with primary relations being nullable by default - now they are not nullable always
fixed issue with multiple databases support when tables with same name are used across multiple databases
MSSQL users are required to add "order by" for skip/offset operations since mssql does not support OFFSET/LIMIT statement without order by applied
added support for indices and listeners in embeddeds
added support for ON CONFLICT
keyword
added support for pg-native
for postgres (#975). To use it you just need to install npm i pg-native
and it will be picked up automatically.
now Find Options support -1
and 1
for DESC
and ASC
values. This is better user experience for MongoDB users.
now inheritances in embeddeds are supported (#966).
isArray: boolean
in ColumnOptions
is deprecated. Use array: boolean
instead.
deprecated removeById
method, now use deleteById
method instead.
added insert
and delete
methods into repository and entity manager.
fixed multiple issues with update
, updateById
and removeById
methods in repository and entity manager. Now they do not use save
and remove
methods anymore - instead they are using QueryBuilder to build and execute their queries.
now save
method can accept partial entities.
removed opencollective dependency.
fixed issues with bulk entity insertions.
find* methods now can find by embed conditions.
fixed issues with multiple schema support, added option to @JoinTable
to support schema and database.
multiple small bugfixes.
Table
, AbstractTable
, ClassTableChild
, ClosureTable
, EmbeddableTable
, SingleTableChild
deprecated decorators were removed. Use Entity
, ClassEntityChild
, ClosureEntity
, SingleEntityChild
decorators instead.
EntityManager#create
, Repository#create
, EntityManager#preload
, Repository#preload
, EntityManager#merge
, Repository#merge
methods now accept DeepPartial<Entity>
instead of Object
.
EntityManager#merge
, Repository#merge
methods first argument is now an entity where to need to merge all given entity-like objects.
changed find*
repository methods. Now conditions are Partial<Entity>
type.
removed FindOptions
interface and introduced two new interfaces: FindOneOptions
and FindManyOptions
- each for its own findOne*
or find*
methods.
dropped out some of options of FindOptions
. Use QueryBuilder
instead. However, added few new options as well.
deprecated method addParameters
has been removed from QueryBuilder
. Use setParameters
instead.
removed setMaxResults
, setFirstResult
methods in QueryBuilder
. Use take
and skip
methods instead.
renamed entityManager
to manager
in Connection
, AbstractRepository
and event objects. entityManager
property was removed.
renamed persist
to save
in EntityManager
and Repository
objects. persist
method was removed.
SpecificRepository
is removed. Use relational query builder functionality instead.
transaction
method has been removed from Repository
. Use EntityManager#transaction
method instead.
custom repositories do not support container anymore.
controller / subscriber / migrations from options tsconfig now appended with a project root directory
removed naming strategy decorator, naming strategy by name functionality. Now naming strategy should be registered by passing naming strategy instance directly.
driver
section in connection options now deprecated. All settings should go directly to connection options root.
removed fromTable
from the QueryBuilder
. Now use regular from
to select from tables.
removed usePool
option from the connection options. Pooling now is always enabled.
connection options interface has changed and now each platform has its own set of connection options.
storage
in sqlite options has been renamed to database
.
env variable names for connection were changed (TYPEORM_DRIVER_TYPE
has been renamed to TYPEORM_CONNECTION
, some other renaming). More env variable names you can find in ConnectionOptionsEnvReader
class.
some api changes in ConnectionManager
and createConnection
/ createConnections
methods of typeorm main entrypoint.
simple_array
column type now is called simple-array
some column types were removed. Now orm uses column types of underlying database.
now number
type in column definitions (like @Column() likes: number
) maps to integer
instead of double
. This is more programmatic design. If you need to store float-pointing values - define a type explicitly.
fixedLength
in column options has been removed. Now actual column types can be used, e.g. @Column("char")
or @Column("varchar")
.
timezone
option has been removed from column options. Now corresponding database types can be used instead.
localTimezone
has been removed from the column options.
skipSchemaSync
in entity options has been renamed to skipSync
.
setLimit
and setOffset
in QueryBuilder
were renamed into limit
and offset
.
nativeInterface
has been removed from a driver interface and implementations.
now typeorm works with the latest version of mssql (version 4).
fixed how orm creates default values for SqlServer - now it creates constraints for it as well.
migrations interface has changed - now up
and down
accept only QueryRunner
. To use Connection
and EntityManager
use properties of QueryRunner
, e.g. queryRunner.connection
and queryRunner.manager
.
now update
method in QueryBuilder
accepts Partial<Entity>
and property names used in update map are column property names and they are automatically mapped to column names.
SpecificRepository
has been removed. Instead new RelationQueryBuilder
was introduced.
getEntitiesAndRawResults
of QueryBuilder
has been renamed to getRawAndEntities
.
in mssql all constraints are now generated using table name in their names - this is fixes issues with duplicate constraint names.
now when object is loaded from the database all its columns with null values will be set into entity properties as null. Also after saving entity with unset properties that will be stored as nulls - their (properties) values will be set to null.
create and update dates in entities now use date with fractional seconds.
@PrimaryGeneratedColumn
decorator now accept generation strategy as first argument (default is increment
), instead of column type. Column type must be passed in options object, e.g. @PrimaryGeneratedColumn({ type: "bigint"})
.
@PrimaryColumn
now does not accept generated
parameter in options. Use @Generated
or @PrimaryGeneratedColumn
decorators instead.
Logger interface has changed. Custom logger supply mechanism has changed.
Now logging
options in connection options is simple "true", or "all", or list of logging modes can be supplied.
removed driver
section in connection options. Define options right in the connection options section.
Embedded
decorator is deprecated now. use @Column(type => SomeEmbedded)
instead.
schemaName
in connection options is removed. Use schema
instead.
TYPEORM_AUTO_SCHEMA_SYNC
env variable is now called TYPEORM_SYNCHRONIZE
.
schemaSync
method in Connection
has been renamed to synchronize
.
getEntityManager
has been deprecated. Use getManager
instead.
@TransactionEntityManager
is now called @TransactionManager
now.
EmbeddableEntity
, Embedded
, AbstractEntity
decorators has been removed. There is no need to use EmbeddableEntity
and AbstractEntity
decorators at all - entity will work as expected without them. Instead of @Embedded(type => X)
decorator now @Column(type => X)
must be used instead.
tablesPrefix
, autoSchemaSync
, autoMigrationsRun
, dropSchemaOnConnection
options were removed. Use entityPrefix
, synchronize
, migrationsRun
, dropSchema
options instead.
removed persist
method from the Repository
and EntityManager
. Use save
method instead.
removed getEntityManager
from typeorm
namespace. Use getManager
method instead.
refactored how query runner works, removed query runner provider
renamed TableSchema
into Table
renamed ColumnSchema
into TableColumn
renamed ForeignKeySchema
into TableForeignKey
renamed IndexSchema
into TableIndex
renamed PrimaryKeySchema
into TablePrimaryKey
added mongodb
support.
entity now can be saved partially within update
method.
added prefix support to embeddeds.
now embeddeds inside other embeddeds are supported.
now relations are supported inside embeds.
now relations for multiple primary keys are generated properly.
now ormconfig is read from .env
, .js
, .json
, .yml
, .xml
formats.
all database-specific types are supported now.
now migrations generation in mysql is supported. Use typeorm migrations:generate
command.
getGeneratedQuery
was renamed to getQuery
in QueryBuilder
.
getSqlWithParameters
was renamed to getSqlAndParameters
in QueryBuilder
.
sql queries are highlighted in console.
added @Generated
decorator. It can accept strategy
option with values increment
and uuid
. Default is increment
. It always generates value for column, except when column defined as nullable
and user sets null
value in to column.
added logging of log-running requests.
added replication support.
added custom table schema and database support in Postgres
, Mysql
and Sql Server
drivers.
multiple bug fixes.
added ActiveRecord support (by extending BaseEntity) class
Connection
how has createQueryRunner
that can be used to control database connection and its transaction state
QueryBuilder
is abstract now and all different kinds of query builders were created for different query types - SelectQueryBuilder
, UpdateQueryBuilder
, InsertQueryBuilder
and DeleteQueryBuilder
with individual method available.
referencedColumnName
where the relation is not between primary keys
added ObjectLiteral
and ObjectType
into main exports
fixed issue with migration not saving into the database correctly.
Note its a breaking change if you have run migrations before and have records in the database table,
added complete babel support
added clear
method to Repository
and EntityManager
which allows to truncate entity table
exported EntityRepository
in typeorm/index
fixed issues:
added custom entity repositories support
merged typeorm-browser and typeorm libraries into single package
added @Transaction
decorator
added exports to typeorm/index
for naming strategies
added shims for browsers using typeorm in frontend models, also added shim to use typeorm
with class-transformer library on the frontend
fixed issue when socketPath could not be used with mysql driver (thanks @johncoffee)
all table decorators are renamed to Entity
(Table
=> Entity
, AbstractTable
=> AbstractEntity
,
ClassTableChild
=> ClassEntityChild
, ClosureTable
=> ClosureEntity
, EmbeddableTable
=> EmbeddableEntity
,
SingleTableChild
=> SingleEntityChild
). This change is required because upcoming versions of orm will work
not only with tables, but also with documents and other database-specific "tables".
Previous decorator names are deprecated and will be removed in the future.
added custom repositories support. Example in samples directory.
cascade remove options has been removed from @ManyToMany
, @OneToMany
decorators. Also cascade remove is not possible
from two sides of @OneToOne
relationship now.
fixed issues with subscribers and transactions
fixed issues
fixed bug when embedded is not being updated
metadata storage now in global variable
entities are being loaded in migrations and can be used throw the entity manager or their repositories
migrations now accept EntityMetadata
which can be used within one transaction
fixed issue with migration running on windows #140
fixed bug with with Class Table Inheritance #144
changed getScalarMany
to getRawMany
in QueryBuilder
changed getScalarOne
to getRawOne
in QueryBuilder
added migrations support
fixed problem when order by
is used with limit
fixed problem when decorators-shim.d.ts
exist and does not allow to import decorators (treats like they exist in global)
fixed Sql Server driver bugs
completely refactored persistence mechanism:
added experimental support of { nullable: true }
in relations
cascade operations should work better now
optimized all queries
entities with recursive entities should be persisted correctly now
now undefined
properties are skipped in the persistence operation, as well as undefined
relations.
added platforms abstractions to allow typeorm to work on multiple platforms
added experimental support of typeorm in the browser
breaking changes in QueryBuilder
:
getSingleResult()
renamed to getOne()
getResults()
renamed to getMany()
getResultsAndCount()
renamed to getManyAndCount()
in the innerJoin/leftJoin methods now no need to specify ON
in the innerJoin/leftJoin methods no longer supports parameters, use addParameters
or setParameter
instead.
setParameters
is now works just like addParameters
(because previous behaviour confused users),
addParameters
now is deprecated
getOne
returns Promise<Entity|undefined>
breaking changes in Repository
and EntityManager
:
findOne
and .findOneByIdnow return
Promiseinstead of
Promise`
now typeorm is compiled into ES5
instead of ES6
- this allows to run it on older versions of node.js
fixed multiple issues with dates and utc-related stuff
multiple bugfixes
lot of API refactorings
complete support TypeScript 2
optimized schema creation
command line tools
multiple drivers support
multiple bugfixes
first stable version, works with TypeScript 1.x
add NOWAIT and SKIP LOCKED lock support for MySQL () (), closes
closure table custom naming () ()
JavaScript file migrations output () ()
relations: Orphaned row action () ()
allow falsey discriminator values () (), closes
allow for complex jsonb primary key columns () (), closes
Allows valid non-object JSON to be retrieved in simple-json columns () (), closes
Cannot read property 'hasMetadata' of undefined () (), closes
check if the connection is closed before executing a query. This prevents SQLITE_MISUSE errors () originating from sqlite itself () ()
check mysql constraint schema on join () (), closes
correct reading of custom ormconfig.env files () ()
explicitly define query
command's param () (), closes
findRoots should get the defined primary key column () (), closes
Fix Mongodb delete by ObjectId. Closes () ()
fixes the typescript errors in EntityCreateCommand & SubscriberCreateCommand () ()
handle count multiple PK & edge cases more gracefully () (), closes
Handle undefined querysets in QueryCommand () (), closes
handle Undefined values in driver URL options () ()
ILike operator generally available for any driver () ()
Only check for discriminator conflicts on STI entities () (), closes
postgresql connection URL can use an UNIX Socket () () ()
prevent create-type commands edge-case TypeErrors () (), closes
redundant migration with decimal default () (), closes
remove @DiscriminatorValue from error message () (), closes
resolves issue proto-less object validation () (), closes
return null for nullable RelationId() column () (), closes
subscribers should use the subscribersDir ()
support changing comments in MySQL columns () ()
support combination of many-to-one/cacade/composte PK () ()
support empty IN
clause across all dialects () (), closes
support multiple row insert on oracle () (), closes
sync the typeorm-model-shim () (), closes
TreeRepository based entities primary column supports custom name. () ()
use require
in ReactNativeDriver
() (), closes
use correct type for MongoQueryRunner.databaseConnection () (), closes
use pg ^8 in init
command ()
wrong FK loaded in multi-database environment () (), closes
add ability for escaping for Raw() find operator () ()
add absolute path support to other CLI commands () ()
Add SelectQueryBuilder.getOneOrFail() () (), closes
backport ilike from next () ()
Exit with code 1 on empty migration:generate () ()
schema synchronization for partitioned tables with PostgreSQL 12+ () ()
support autoEncryption
option for MongoDB () ()
Support column comments in Postgres and CockroachDB () (), closes
support ESM in ormconfig js & ts () (), closes
support query comments in the query builder () (), closes
transactional events in subscriber interface + "transaction" option in FindOptions () ()
Improve MySQL LoadTables Performance () (), closes
Improve replacePropertyNames () ()
FindManyOptions order in parameter typing is important ()
lock Typescript to 3.6.0 () (), closes
add dummy for FileLogger, ConnectionOptionsReaders, and update gulpfile () ()
backport FindOperator return types () ()
coerce port to number in ConnectionOptionsEnvReader () (), closes
count() method for multiple primary keys for cockroachdb () ()
enforce name argument of migration generate command () () (), closes
ensure browser builds don't include any non-browser modules () (), closes
hdb-pool is not namespaced under () (), closes
migration:generate issue with onUpdate using mariadb 10.4 () ()
prevent multiple release
listeners in PostgresQueryRunner () (), closes
prevent wrong returned entity in ReturningResultsEntityUpdator () ()
resolve issues ora-00972:identifier is too long () (), closes
sql.js v1.2+ don't support undefined parameters () (), closes
add option to pass postgres server notices to client logger () (), closes
backport SQLite Busy handler & WAL mode enable () ()
Beautify generated SQL for migrations () (), closes
create EntityTarget and use instead of EntitySchema / ObjectType / etc () ()
Revert "fix: properly override database url properties (#6247)" (#6802) (), closes
@JoinTable does not respect inverseJoinColumns referenced column width () (), closes
add missing schema for OracleDriver () ()
change InsertQueryBuilder.values() with an empty array into a no-op () (), closes
Child entities not being saved correctly with cascade actions () ()
correctly parse connection URI with query params () (), closes
decorators should implement the official TypeScript interface () (), closes
DeepPartial with any and {[k: string]: any} () (), closes
exporting missing load event () ()
get correct insert ids for multiple entities inserted () (), closes
getPendingMigrations isn't properly working () ()
handle 'error' events from pool connection () ()
insert IN(null) instead of IN() when In([]) empty array for mysqlDriver () ()
make only a single SELECT to get inserted default and generated values of multiple entities () (), closes
Migration issues with scale & precision in sqlite/sql.js () (), closes
mysql migration: make sure the indices sql which left-join be the same database () ()
pass ids_
to alias builder to prevent length overflow () ()
pass formatOptions to Data API Client, fix extensions () (), closes
Query builder makes query with joins, without limit for inherited entities () (), closes
remove unnecessary optionality from Raw operator's columnAlias argument () ()
resolve missing decorators on shim () (), closes
revert fix handle URL objects as column field values () ()
SqlQueryRunner.hasColumn was not working () (), closes
support multiple JoinColumn
s in EntitySchema () (), closes
Unnecessary migrations for fulltext indices () (), closes
unnecessary migrations for unsigned numeric types () (), closes
update query deep partial TypeScript definition () ()
add AWS configurationOptions to aurora-data-api-pg connector () ()
add better-sqlite3 driver () ()
add postgres connection timeout option () ()
FileLogger accepts custom file path () (), closes
implement postgres ltree () (), closes
support absolute paths in migrationsDir for the CLI () ()
support cjs extension for ormconfig () ()
'in' clause case for ORACLE () ()
calling EntityManager.insert() with an empty array of entities () (), closes
columns with transformer should be normalized for update () (), closes
escape column comment in mysql driver () ()
expo sqlite driver disconnect() () ()
HANA - SSL options, column delta detection mechanism () ()
handle URL objects as column field values () (), closes
insert and update query builder to handle mssql geometry column correctly () ()
migrations being generated for FK even if there are no changes () ()
multiple assignments to same column on UPDATE () ()
prevent TypeError when calling bind function with sql.js 1.2.X () ()
prototype pollution issue () ()
provide a default empty array for parameters. () ()
redundant undefined parameters are not generated in migration files anymore () ()
replacing instanceof Array checks to Array.isArray because instanceof Array seems to be problematic on some platforms () ()
respect database from connection urls () (), closes
sha.js import () ()
Unknown fields are stripped from WHERE clause (issue ) () ()
update dependency mkdirp to 1.x () ()
update Entity decorator return type to ClassDecorator () ()
use an empty string enum as the type of a primary key column () (), closes
use correct typings for the result of getUpsertedIds()
() ()
wrong table name parameter when not using default schema () ()
add FOR NO KEY UPDATE lock mode for postgresql () ()
add name option to view column () (), closes
Add soft remove and recover methods to entity () ()
added support for NOWAIT & SKIP LOCKED in Postgres () ()
Aurora Data API - Postgres Support () ()
aurora Data API - Support for AWS configuration options through aurora driver () ()
create-column, update-column, version-column column kinds now support user specified values () (), closes
names of extra columns for specific tree types moved to NamingStrategy () ()
PG allow providing a function for password () ()
update cli migration up and down from any to void () ()
UpdateResult returns affected rows in mysql () (), closes
An optimized version of EntityMetadata#compareIds() for the common case () ()
.synchronize() drops json column on mariadb () (), closes
(base-entity) set create return type to T[] () ()
add the enableArithAbort option to the sql server connection option typings () ()
bug when default value in mssql were not updated if previous default was already set ()
change OrmUtils.mergeDeep to not merge RegExp objects () (), closes
fk on update should not use attributes of on delete ()
load typeorm-aurora-data-api-driver correctly when using webpack () () ()
not to make typeorm generate alter query on geometry column when that column was not changed () ()
Oracle sql expression for date column () (), closes
refactoring instance of with Array.isArray() () ()
Return NULL when normalize default null value () (), closes
SAP HANA driver fixes () ()
update foreign keys when table name changes () ()
use OUTPUT INTO on SqlServer for returning columns () (), closes
use sha.js instead of crypto for hash calculation () ()
Add basic support for custom cache providers () ()
add fulltext parser option () ()
use a prefix on SelectQueryBuilder internal parameters () (), closes
hash aliases to avoid conflicts () ()
implement driver options for NativeScript () ()
SAP Hana support () ()
speed ​​up id search in buildChildrenEntityTree () ()
allow expireAfterSeconds 0 in Index decorator (close ) () ()
do not mutate connection options () ()
mysql driver query streaming () ()
remove consrc usage (postgres,cockroachdb) () (), closes
repo for app-root-path in lock file () ()
resolve MySQL unique index check when bigNumberStrings is false () (), closes
resolve sorting bug for several mongo vesions with typeorm migration () (), closes
throwing error on duplicate migration names () ()
unescaped column name in order clause of "migrations" () ()
upgrade app-root-path () ()
add distinct on() support for postgres () ()
add migrations transaction option to connection options () (), closes
asynchronous ormconfig support () (), closes
export Migration Execution API from main package (fixes ) () ()
support spatial types of MySQL 8+ () (), closes
ensure distinct property is respected cloning query builder () (), closes
aurora: apply mysql query fixes to aurora () ()
allow EntitySchema to be passed to EntityRepository () ()
better timestamp comparison () ()
broken database option when using replication, changes introduced by () ()
check for version of MariaDB before extracting COLUMN_DEFAULT () ()
connection Reuse is broken in a Lambda environment: () ()
FindOptionUtils export () (), closes
loading of aurora-data-api driver () ()
postgres: postgres query runner to create materialized view () ()
migrations run in reverse order for mongodb () ()
mongodb Cursor.forEach types () ()
Slack invite URL () ()
add name to MigrationInterface (fixes and fixes ) () ()
add new transaction mode to wrap each migration in transaction () ()
add option to Column to specify the complete enumName () ()
add support for cube array for PostgreSQL () ()
implements Sqlite 'WITHOUT ROWID' table modifier () (), closes
"database" option error in driver when use "url" option for connection ()
"hstore injection" & properly handle NULL, empty string, backslashes & quotes in hstore key/value pairs () ()
add SaveOptions and RemoveOptions into ActiveRecord () ()
apostrophe in Postgres enum strings breaks query () ()
change PrimaryColumn decorator to clone passed options () (), closes
createQueryBuilder relation remove works only if using ID () () ()
resolve issue with conversion string to simple-json () (), closes
sqlite connections don't ignore the schema property () ()
the excessive stack depth comparing types FindConditions<?>
and FindConditions<?>
problem () ()
views generating broken Migrations () (), closes
add set
datatype support for MySQL/MariaDB () (), closes
add materialized View support for Postgres () (), closes
add mongodb useUnifiedTopology
config parameter () ()
add multi-dimensional cube support for PostgreSQL () ()
add options to input init config for sql.js () ()
add postgres pool error handler () ()
add referenced table metadata to NamingStrategy to resolve foreign key name () (), closes
add support for ON CONFLICT for cockroach () (), closes
Added support for DISTINCT queries () ()
Aurora Data API () ()
export additional schema builder classes () ()
log files loaded from glob patterns () (), closes
UpdateResult returns affected rows in postgresql () (), closes
fixed loadRelationCountAndMap when entities' primary keys are strings ()
fixed QueryExpressionMap not cloning all values correctly ()
fixed transform embeddeds with no columns but with nested embeddeds (mongodb) ()
fixed the getMany() result being droped randomly bug when using the buffer as primary key. ()
adds typeorm migration:show
command ()
deprecate column readonly
option in favor of update
and insert
options ()
support sql.js v1.0 ()
added support for orUpdate
in SQLlite ()
added support for dirty_read
(NOLOCK) in SQLServer ()
extend afterLoad() subscriber interface to take LoadEvent ()
relation decorators (e.g. @OneToMany
) now also accept string
instead of typeFunction
, which prevents circular dependency issues in the frontend/browser ()
added support for metadata reflection in typeorm-class-transformer-shim.js ()
added sqlJsConfig
to input config when initializing sql.js ()
fixed transform embeddeds with boolean values (mongodb) ()
fixed issue with schema inheritance in STI pattern ()
revert changes from ()
()
sqlite date hydration is susceptible to corruption ()
fixed mongodb uniques, support 3 ways to define uniques ()
fixed mongodb TTL index ()
added deferrable options for foreign keys (postgres) ()
added View entity implementation (). Read more at
added multiple value transformer support ()
removed unused parameters from insert
, update
, delete
methods ()
fixed: migration generator produces duplicated changes ()
fixed: unique constraint not created on embedded entity field ()
fixed: FK columns have wrong length when PrimaryGeneratedColumn('uuid') is used ()
fixed: column option unique sqlite error ()
fixed: 'uuid' in PrimaryGeneratedColumn causes Many-to-Many Relationship to Fail ()
fixed: sync enums on schema sync ()
fixed: changes in enum type is not reflected when generating migration (in definition file) ()
fixed: migration will keep create and drop indexes if index name is the same across tables ()
fixed bug in connection.dropDatabase
method ()
fixed "deep relations" not loaded/mapped due to the built-in max length of Postgres ()
fixed types issue from
fix sync schema issue with postgres enum in case capital letters in entity name ()
fixed migration issue with postgres numeric enum type - change queries are not generated if enum is not modified ()
fixed mongodb entity listeners in optional embeddeds ()
added browser entry point to package.json
()
added useLocalForage
option to Sql.js connection options, which enables asynchronous load and save operations of the datatbase from the indexedDB ()
added simple-enum column type ()
fixed undefined object id field in case property name is _id
()
allow to use mongodb index options in Index
decorator ()
fixed entity embeddeds indices in mongodb ()
fixed json/jsonb column data types comparison ()
fixed increment/decrement value of embedded entity ()
fixed missing call transformer.from()
in case column is NULL ()
handle embedded documents through multiple levels in mongodb ()
fixed hanging connections in mssql
driver ()
Injection 2nd parameter(options) of constructor to ioredis/cluster
is now possible()
fixed mongodb entity listeners and subscribers ()
fixed connection options builder - paramters parsed from url are assigned on top of options ()
fixed issue with logical operator precedence in QueryBuilder
whereInIds
()
fixed missing isolationLevel
in Connection.transaction()
method ()
fixed issue with uuid in mysql ()
fixed ignored extra options in mongodb driver (, )
fixed signature of root getRepository
function to accept EntitySchema<Entity>
()
fixed false undefined connection options passed into mongodb client ()
fixed ER_DUP_FIELDNAME with simple find ()
added tslib
to reduce package size (, )
queries are simplified in findByIds
and whereInIds
for simple entities with single primary key ()
added ioredis
and ioredis-cluster
cache support (,)
added LessThanOrEqual
and MoreThanOrEqual
find options ()
improve support of string, numeric and heterogeneous enums in postgres and mysql ()
default value of enum array in postgres is now possible define as typescript array ()
UpdateQueryBuilder
now throw error if update values are not provided or unknown property is passed into .set()
method (,)
optimized hydration performance ()
added simple-json column type ()
fixed transform behaviour for timestamp columns ()
fixed issue with multi-level relations loading ()
EntitySubscriber now fires events on subclass entity ()
fixed error with entity schema validator being async ()
postgres extensions now gracefully handled when user does not have rights to use them ()
fixed issue that broke browser support in 0.1.8 because of the debug package ()
fixed bug with sqlite and mysql schema synchronization when uuid column is used ()
New DebugLogger ()
fixed bug with migrations execution in mssql ()
added support for more complex ordering in paginated results ()
fixed issue when relation query builder methods execute operations with empty arrays ()
Webpack can now be used for node projects and not only for browser projects. To use TypeORM in Ionic with minimal changes checkout the for the needed changes. To use webpack for non-Ionic browser webpack projects, the needed configuration can be found in the ()
added support for loading sub-relations in via find options ()
fixed bug with query builder where lazy relations are loaded multiple times when using leftJoinAndSelect
()
fixed bug in all sqlite based drivers that generated wrong uuid columns ( and )
fixed bug where findByIds
would return values with an empty array ()
fixed bug in MigrationExecutor that didn't release created query builder ()
fixed bug in mysql driver that generated wrong query when using skip ()
added option to create query builder from repository without alias()
fixed bug that made column option "select" unusable ()
fixed bug that generated mongodb projects what don't work ()
added support for sql.js
. To use it you just need to install npm i sql.js
and use sqljs
as driver type ().
added explicit require() statements for drivers ()
fixed bug where wrong query is generated with multiple primary keys ()
fixed bug for oracle driver where connect method was wrong ()
sqlite now supports relative database file paths ( and )
fixed bug with not properly working update
method (, )
fixed bug with replication support ()
fixed bug with wrong embedded column names being generated ()
added support for caching in respositories ()
added support for the citext
column type for postgres ()
fixes - issue when trying to create a OneToOne
relation with
fixed issue fixes .
make sure to apply corresponding changes. More info in issue.
fixed bug with indices from columns are not being inherited from parent entity
added support of UUID primary columns (thanks )
added count
method to repository and entity manager (thanks )
fixed issue with migration generation in (thanks to )
fixed issue with using extra options with SqlServer (thanks to )
fixed issue with non-pooled connections (thanks to )
,
,
,
,
,
typeorm now has translation in chinese (thanks )
added schemaName
support for postgres database (thanks )
fixed bug when new column was'nt added properly in sqlite
added ability to set different types of values for DEFAULT value of the column
added ability to use zero, false and empty string values as DEFAULT values in (thanks to )
fixed bug with junction tables persistence (thanks )
fixed bug regexp in QueryBuilder
(thanks )
fixed issues , (thanks to )
,
,
,
,
,
,
,
,
,
,
,
,
,
,
added JSONB
support for Postgres in #126 (thanks @CreepGin)
fixed in in sqlite query runner in #141 (thanks )
added shortcut exports for table schema classes in #135 (thanks )
fixed bugs with single table inheritance in #132 (thanks )
fixed issue with TIME
column in #134 (thanks )
fixed issue with relation id in #138 (thanks )
fixed bug when URL for pg was parsed incorrectly #114 (thanks )