typeorm 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/LICENSE +21 -0
  2. package/browser/data-source/DataSource.d.ts +1 -0
  3. package/browser/data-source/DataSource.js +56 -29
  4. package/browser/data-source/DataSource.js.map +1 -1
  5. package/browser/driver/cockroachdb/CockroachDriver.js +9 -4
  6. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  7. package/browser/driver/cockroachdb/CockroachQueryRunner.js +71 -31
  8. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  9. package/browser/driver/mysql/MysqlQueryRunner.js +132 -84
  10. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  11. package/browser/driver/oracle/OracleQueryRunner.js +84 -40
  12. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  13. package/browser/driver/postgres/PostgresDriver.js +6 -3
  14. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  15. package/browser/driver/postgres/PostgresQueryRunner.js +117 -72
  16. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  17. package/browser/driver/sap/SapQueryRunner.js +24 -20
  18. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  19. package/browser/driver/spanner/SpannerQueryRunner.js +20 -16
  20. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  21. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +52 -31
  22. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  23. package/browser/driver/sqlserver/SqlServerQueryRunner.js +95 -49
  24. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  25. package/browser/entity-manager/EntityManager.d.ts +6 -0
  26. package/browser/entity-manager/EntityManager.js +6 -0
  27. package/browser/entity-manager/EntityManager.js.map +1 -1
  28. package/browser/metadata-builder/EntityMetadataBuilder.js +5 -2
  29. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  30. package/browser/persistence/tree/ClosureSubjectExecutor.js +2 -3
  31. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  32. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +15 -5
  33. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  34. package/data-source/DataSource.d.ts +1 -0
  35. package/data-source/DataSource.js +56 -29
  36. package/data-source/DataSource.js.map +1 -1
  37. package/driver/cockroachdb/CockroachDriver.js +9 -4
  38. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  39. package/driver/cockroachdb/CockroachQueryRunner.js +71 -31
  40. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  41. package/driver/mysql/MysqlQueryRunner.js +132 -84
  42. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  43. package/driver/oracle/OracleQueryRunner.js +84 -40
  44. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  45. package/driver/postgres/PostgresDriver.js +6 -3
  46. package/driver/postgres/PostgresDriver.js.map +1 -1
  47. package/driver/postgres/PostgresQueryRunner.js +117 -72
  48. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  49. package/driver/sap/SapQueryRunner.js +24 -20
  50. package/driver/sap/SapQueryRunner.js.map +1 -1
  51. package/driver/spanner/SpannerQueryRunner.js +20 -16
  52. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  53. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +52 -31
  54. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  55. package/driver/sqlserver/SqlServerQueryRunner.js +95 -49
  56. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  57. package/entity-manager/EntityManager.d.ts +6 -0
  58. package/entity-manager/EntityManager.js +6 -0
  59. package/entity-manager/EntityManager.js.map +1 -1
  60. package/metadata-builder/EntityMetadataBuilder.js +5 -2
  61. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  62. package/package.json +3 -3
  63. package/persistence/tree/ClosureSubjectExecutor.js +2 -3
  64. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  65. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +15 -5
  66. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
@@ -396,20 +396,23 @@ class OracleQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
396
396
  }
397
397
  // if table have column with generated type, we must add the expression to the metadata table
398
398
  const generatedColumns = table.columns.filter((column) => column.generatedType && column.asExpression);
399
- for (const column of generatedColumns) {
400
- const insertQuery = this.insertTypeormMetadataSql({
401
- table: table.name,
402
- type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
403
- name: column.name,
404
- value: column.asExpression,
405
- });
406
- const deleteQuery = this.deleteTypeormMetadataSql({
407
- table: table.name,
408
- type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
409
- name: column.name,
410
- });
411
- upQueries.push(insertQuery);
412
- downQueries.push(deleteQuery);
399
+ if (generatedColumns.length > 0) {
400
+ const { tableName } = this.driver.parseTableName(table);
401
+ for (const column of generatedColumns) {
402
+ const insertQuery = this.insertTypeormMetadataSql({
403
+ table: tableName,
404
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
405
+ name: column.name,
406
+ value: column.asExpression,
407
+ });
408
+ const deleteQuery = this.deleteTypeormMetadataSql({
409
+ table: tableName,
410
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
411
+ name: column.name,
412
+ });
413
+ upQueries.push(insertQuery);
414
+ downQueries.push(deleteQuery);
415
+ }
413
416
  }
414
417
  await this.executeQueries(upQueries, downQueries);
415
418
  }
@@ -449,21 +452,26 @@ class OracleQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
449
452
  upQueries.push(this.dropTableSql(table));
450
453
  downQueries.push(this.createTableSql(table, createForeignKeys));
451
454
  // if table had columns with generated type, we must remove the expression from the metadata table
452
- const generatedColumns = table.columns.filter((column) => column.generatedType && column.asExpression);
453
- for (const column of generatedColumns) {
454
- const deleteQuery = this.deleteTypeormMetadataSql({
455
- table: table.name,
456
- type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
457
- name: column.name,
458
- });
459
- const insertQuery = this.insertTypeormMetadataSql({
460
- table: table.name,
461
- type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
462
- name: column.name,
463
- value: column.asExpression,
464
- });
465
- upQueries.push(deleteQuery);
466
- downQueries.push(insertQuery);
455
+ const generatedColumns = table.columns.filter((column) => column.generatedType);
456
+ if (generatedColumns.length > 0) {
457
+ const { tableName } = this.driver.parseTableName(table);
458
+ for (const column of generatedColumns) {
459
+ const deleteQuery = this.deleteTypeormMetadataSql({
460
+ table: tableName,
461
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
462
+ name: column.name,
463
+ });
464
+ upQueries.push(deleteQuery);
465
+ if (column.asExpression) {
466
+ const insertQuery = this.insertTypeormMetadataSql({
467
+ table: tableName,
468
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
469
+ name: column.name,
470
+ value: column.asExpression,
471
+ });
472
+ downQueries.push(insertQuery);
473
+ }
474
+ }
467
475
  }
468
476
  await this.executeQueries(upQueries, downQueries);
469
477
  }
@@ -523,6 +531,21 @@ class OracleQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
523
531
  // rename table
524
532
  upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(oldTable)} RENAME TO "${newTableName}"`));
525
533
  downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(newTable)} RENAME TO "${oldTableName}"`));
534
+ const hasGeneratedColumns = oldTable.columns.some((col) => col.generatedType);
535
+ if (hasGeneratedColumns) {
536
+ const updateQuery = this.updateTypeormMetadataSql({
537
+ table: oldTableName,
538
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
539
+ valueToSet: { table: newTableName },
540
+ });
541
+ const revertUpdateQuery = this.updateTypeormMetadataSql({
542
+ table: newTableName,
543
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
544
+ valueToSet: { table: oldTableName },
545
+ });
546
+ upQueries.push(updateQuery);
547
+ downQueries.push(revertUpdateQuery);
548
+ }
526
549
  // rename primary key constraint
527
550
  if (newTable.primaryColumns.length > 0 &&
528
551
  !newTable.primaryColumns[0].primaryKeyConstraintName) {
@@ -636,14 +659,15 @@ class OracleQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
636
659
  downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP CONSTRAINT "${uniqueConstraint.name}"`));
637
660
  }
638
661
  if (column.generatedType && column.asExpression) {
662
+ const { tableName } = this.driver.parseTableName(table);
639
663
  const insertQuery = this.insertTypeormMetadataSql({
640
- table: table.name,
664
+ table: tableName,
641
665
  type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
642
666
  name: column.name,
643
667
  value: column.asExpression,
644
668
  });
645
669
  const deleteQuery = this.deleteTypeormMetadataSql({
646
- table: table.name,
670
+ table: tableName,
647
671
  type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
648
672
  name: column.name,
649
673
  });
@@ -728,6 +752,23 @@ class OracleQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
728
752
  // rename column
729
753
  upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME COLUMN "${oldColumn.name}" TO "${newColumn.name}"`));
730
754
  downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} RENAME COLUMN "${newColumn.name}" TO "${oldColumn.name}"`));
755
+ if (oldColumn.generatedType) {
756
+ const { tableName } = this.driver.parseTableName(table);
757
+ const updateQuery = this.updateTypeormMetadataSql({
758
+ table: tableName,
759
+ name: oldColumn.name,
760
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
761
+ valueToSet: { name: newColumn.name },
762
+ });
763
+ const revertUpdateQuery = this.updateTypeormMetadataSql({
764
+ table: tableName,
765
+ name: newColumn.name,
766
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
767
+ valueToSet: { name: oldColumn.name },
768
+ });
769
+ upQueries.push(updateQuery);
770
+ downQueries.push(revertUpdateQuery);
771
+ }
731
772
  // rename column primary key constraint
732
773
  if (oldColumn.isPrimary === true &&
733
774
  !oldColumn.primaryKeyConstraintName) {
@@ -983,20 +1024,23 @@ class OracleQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
983
1024
  }
984
1025
  upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} DROP COLUMN "${column.name}"`));
985
1026
  downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ADD ${this.buildCreateColumnSql(column)}`));
986
- if (column.generatedType && column.asExpression) {
1027
+ if (column.generatedType) {
1028
+ const { tableName } = this.driver.parseTableName(table);
987
1029
  const deleteQuery = this.deleteTypeormMetadataSql({
988
- table: table.name,
989
- type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
990
- name: column.name,
991
- });
992
- const insertQuery = this.insertTypeormMetadataSql({
993
- table: table.name,
1030
+ table: tableName,
994
1031
  type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
995
1032
  name: column.name,
996
- value: column.asExpression,
997
1033
  });
998
1034
  upQueries.push(deleteQuery);
999
- downQueries.push(insertQuery);
1035
+ if (column.asExpression) {
1036
+ const insertQuery = this.insertTypeormMetadataSql({
1037
+ table: tableName,
1038
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
1039
+ name: column.name,
1040
+ value: column.asExpression,
1041
+ });
1042
+ downQueries.push(insertQuery);
1043
+ }
1000
1044
  }
1001
1045
  await this.executeQueries(upQueries, downQueries);
1002
1046
  clonedTable.removeColumn(column);