* chore: update workflows to ignore changes in docs directory
Added paths-ignore configuration to CodeQL, preview, and test workflows to prevent unnecessary runs when only documentation files are modified.
* chore: remove paths-ignore for docs in preview workflow
* fix(postgres): collation not updated in DB when changed in entity
Closes: #8647
* test: issue #8647
* test: add enableDrivers, combine seperated cases
* test: update test name
* test: remove unnecessary characters in test case
* style: fix formatting
* style: fix comments typo
* fix: handle limit(0) and offset(0) correctly in SelectQueryBuilder
- Fix JavaScript falsy value issue where limit(0) was treated as undefined
- Now limit(0) correctly generates 'LIMIT 0' SQL clause instead of being ignored
- Add helper functions hasLimit/hasOffset to distinguish between undefined and 0
- Add comprehensive test cases for zero value handling in limit/offset/take/skip
- Prevents potential security issue where limit(0) returned all records
Fixes potential data exposure when limit(0) was intended to return empty result
* fix: prettier formatting
* test: expand test coverage for LIMIT/OFFSET edge cases and regression prevention
* fix: resolve regression in upsert and orUpdate for PostgreSQL driver
This fix addresses a regression introduced in
pull request #11082 by ensuring correct handling of alias names and table names when they are equal or distinct when entities use schema
Closes: #11440
* style: code formatted
* chore: run tests by running through all the drivers
* chore: set enabledDrivers as postgres
* chore: added postgres family members as enabled drivers
* chore: accepted suggestion to remove extra comments
Co-authored-by: Mike Guida <mike@mguida.com>
---------
Co-authored-by: Mike Guida <mike@mguida.com>
* fix: capacitor driver PRAGMA bug
add usage of query method for PRAGMA queries in CapacitorQueryRunner.ts;
add usage of execute method for PRAGMA queries in CapacitorDriver.ts;
PRAGMA statements must be executed with query method in CapacitorQueryRunner.ts to be able to return results used in AbstractSqliteQueryRunner, not just success indicator, otherwise error appears: tableColumn.type.indexOf is not a function.;
PRAGMA statements must be executed with execute method in CapacitorDriver.ts, otherwise error appears: prepareSQL step failed rc: 100 message: another row available
* fix: npm format
* chore: enable driver `mssql` for test of issue #3113
* chore: add test case for #11298 to issue #11285 to prevent functionality of #11285
* fix: unhandled find operator with array value for mssql (#11466)
* fixup! fix: unhandled find operator with array value for mssql (#11466)
* Revert "chore: enable driver `mssql` for test of issue #3113"
This reverts commit a302d63eeac5892e920d97705b4230414ef81e6d.
* fixup! chore: add test case for #11298 to issue #11285 to prevent functionality of #11285
---------
Co-authored-by: Christian Forgács <christian@wunderbit.de>
* Add updateAll() methods
* Add deleteAll() methods
* Fix softDelete/restore error messages
* Add test for Repository.delete() with criteria
* Add test for Repository.deleteAll() method
* Move/rename “Repository > delete” test files
* Tweak comments
* Add tests for Repository update methods
* Add updateAll and deleteAll to EntityManager API docs
* Add updateAll and deleteAll to Repository API docs
* Fix tests
* Added a new SQL tagged template feature for executing raw SQL queries with automatic parameter handling.
---------
Co-authored-by: Simon Garner <simon@equalogic.com>
* fix: change how array columns are compared on column changed detection
Closes: #5967
* add tests with date array colum
* Normalize date arrays before comparing
* fix: prevent error when replication is undefined
* fix format
* add test
* update test name
* fix test
* fix test
* skip test
* add unit test
* fix unit test
* fix unit test
* fix: Build ESM migrations for JS
Including jsdoc for typehinting
Add esm as an option in the migrate cli
Update the documentation for the JS migrations
Closes: #10801
* fix: Fix the migration documentation
* Cleanup the types in the migrations
* Add the formatted sql console
* Add the formatSql to the logger
* Update src/logger/FormattedConsoleLogger.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Make names in test more consistent
* Add a sub query example
* Set the language to the sql formatter
* Import SqlLanguage as a type from sql-formatter
* Remove empty console log
* Remove console log
* Add the dataSourceType
* Remove js extension from import
* Use another package to format the SQL in the logging
Same package as we use to generate the migrations
* Not need to add all the spaces in the log
* Fix the expected formatted queries
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* perf(query-runner): use Date.now() intead of +new Date()
* perf: use Date.now() instead of new Date().getTime()
---------
Co-authored-by: Lucian Mocanu <alumni@users.noreply.github.com>
Co-authored-by: Mike Guida <mike@mguida.com>
* Added logging to the Entity Listener Metadata as it will throw an error (entity[this.propertyName] is not a function), which is not a descriptive error and makes it hard for users to debug their programs
* Bound the entity to the Entity Method
* Update src/metadata/EntityListenerMetadata.ts
---------
Co-authored-by: Lucian Mocanu <alumni@users.noreply.github.com>
Co-authored-by: Mike Guida <mike@mguida.com>
Add "enableQueryTimeout" option to MysqlConnectionOptions. When enabled the value of "maxQueryExecutionTime" will be passed to mysql driver as query timeout.
---------
Co-authored-by: Mike Guida <mike@mguida.com>