Type-safe SQL query builder like QueryDSL or JOOQ in Java or Linq in .Net for TypeScript with MariaDB, MySql, Oracle, PostgreSql, Sqlite and SqlServer support.
MIT License
Bot releases are visible (Hide)
Changes:
aggregateAsArrayDistinct
and aggregateAsArrayOfOneColumnDistinct
to allow aggregate as array distinct values.Published by juanluispaz 7 months ago
Bug fixes:
setForAllIfHasNoValue
is called and the records to insert contain a single recordPublished by juanluispaz 7 months ago
Changes:
Published by juanluispaz 8 months ago
Removals:
mergeType
additional utility type. Use connection.dynamicBooleanExpressionUsing
instead.Published by juanluispaz 8 months ago
Changes:
mergeType
additional utility type. Use Use connection.dynamicBooleanExpressionUsing
instead.Published by juanluispaz 8 months ago
Removals:
Remove deprecated any-db support and query runner.
Remove deprecated LoopBack support and query runner.
Remove deprecated msnodesqlv8 support and query runner.
Remove deprecated tedious support and query runner. Tedious still available using mssql.
Remove deprecated Prisma's short-running transactions support. Prisma's Long-running transactions continue supported.
Remove deprecated connections with extended types: TypeSafeMariaDBConnection
, TypeSafeMySqlConnection
, TypeSafeNoopDBConnection
, TypeSafeOracleConnection
, TypeSafePostgreSqlConnection
, TypeSafeSqliteConnection
, TypeSafeSqlServerConnection
.
Remove ts-extended-types
dependency.
Remove deprecated stringInt
and stringDouble
column types in favour of customInt
and customDouble
.
Remove long deprecated functions:
Removed deprecated nam | Current name |
---|---|
smaller |
lessThan |
smallAs |
lessOrEquals |
larger |
greaterThan |
largeAs |
greaterOrEquals |
mod |
modulo |
lower |
toLowerCase |
upper |
toUpperCase |
ltrim |
trimLeft |
rtrim |
trimRight |
replace |
replaceAll |
replaceIfValue |
replaceAllIfValue |
Remove long deprecated overload of functions in columns that allowed to send to the database null values in TypeScript when the type were optional.
Published by juanluispaz 8 months ago
Changes:
notEqualsInsensitive
in dynamic filters previously not included in the white list of allowed functions.stringInt
and stringDouble
in favour of customInt
and customDouble
.TypeSafeMariaDBConnection
, TypeSafeMySqlConnection
, TypeSafeOracleConnection
, TypeSafePostgreSqlConnection
, TypeSafeSqliteConnection
, TypeSafeSqlServerConnection
.Published by juanluispaz 8 months ago
Changes:
customInt
, customDouble
, customUuid
, customLocalDate
, customLocalTime
, customLocalDateTime
.Documentation changes:
Published by juanluispaz 9 months ago
Changes:
union
, intersect
, etc.)Bug fixes:
with
in compound select queries (union
, intersect
, etc.)Published by juanluispaz 10 months ago
Changes:
Published by juanluispaz about 1 year ago
Bug fixes:
inIfValue
and notInIfValue
forcing include the optional join when it is not required.Published by juanluispaz about 1 year ago
Changes:
Documentation changes:
Bug fixes:
executeConnectionConfiguration
is executed before any other query immediately after opening a transaction.Published by juanluispaz over 1 year ago
Changes:
executeConnectionConfiguration
in the query runner, allowing you to execute raw queries that modify the connection configuration.beforeQuery
custom SQL fragment when queries are customized.Documentation changes:
Published by juanluispaz over 1 year ago
Changes:
dynamicCondition
are readableBug fixes:
DynamicCondition
when the database types are usedfromRef
not reported by the typescript (now you will get a compilation error)dynamicPickPaths
not picking the inner propertiesPublished by juanluispaz over 1 year ago
Changes:
dynamicPickPaths
to work with a list of fields to pick, and implement expandTypeFromDynamicPickPaths
utility function to rectify the query output when the list of fields to pick is a generic type (Previously experimental)connect by
syntaxPickValuesPath
utility function that allows getting the result of a select query given the fields to pick picked pathsDynamicCondition
, allowing to use fields of the dynamic condition as an argumentPickValuesPathWitAllProperties
utility type that allows getting the type of each element returned by a select picking columnsSelectedValues
and SelectedRow
, allowing to use of complex projectionsselectCountAll()
as a shortcut to selectOneColumn(connection.countAll())
that doesn't return an optional value when the query is used as an inline value (removing in this way the current limitation)ignoreIfSet
over a required property in an insertkeepOnly
method that allows filtering the columns to be set in an insert or updatedisallowIfSet
, disallowIfNotSet
, disallowIfValue
, disallowIfNotValue
, disallowAnyOtherSet
dynamicSet
or dynamicValues
using an object where a required property is optionalDocumentation changes:
Bug fixes:
expandTypeFromDynamicPickPaths
(Previously experimental) to work with all kinds of output produced when a query is executedPublished by juanluispaz over 1 year ago
Bug fixes:
ChainedQueryRunner
for the execute
methodInternal changes:
Published by juanluispaz over 1 year ago
Bug fixes:
valueWhenNull
in SqlServerPublished by juanluispaz over 1 year ago
Changes:
UpdatableOnInsertConflictRow
and UpdatableOnInsertConflictValues
to represent updatable values in case of conflict on insertExperimental changes:
dynamicPickPaths
to work with a list of fields to pick, and implement expandTypeFromDynamicPickPaths
utility function to rectify the query output when the list of fields to pick is a generic typeshapeAs
that allow controlling the structure of the object to use to set the valueBug fixes:
Published by juanluispaz almost 2 years ago
Bug fixes:
sqrt
function is usedin
or notIn
methods in Sqlite, MariaDB and MySqlDocumentation changes:
Published by juanluispaz almost 2 years ago
Bug fixes:
executeSelectPage
when a groupBy
is used