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
@@ -312,21 +312,23 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
312
312
  upQueries.push(this.dropTableSql(table, ifExists));
313
313
  downQueries.push(this.createTableSql(table, createForeignKeys));
314
314
  // if table had columns with generated type, we must remove the expression from the metadata table
315
- const generatedColumns = table.columns.filter((column) => column.generatedType && column.asExpression);
315
+ const generatedColumns = table.columns.filter((column) => column.generatedType);
316
316
  for (const column of generatedColumns) {
317
317
  const deleteQuery = this.deleteTypeormMetadataSql({
318
318
  table: table.name,
319
319
  type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
320
320
  name: column.name,
321
321
  });
322
- const insertQuery = this.insertTypeormMetadataSql({
323
- table: table.name,
324
- type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
325
- name: column.name,
326
- value: column.asExpression,
327
- });
328
322
  upQueries.push(deleteQuery);
329
- downQueries.push(insertQuery);
323
+ if (column.asExpression) {
324
+ const insertQuery = this.insertTypeormMetadataSql({
325
+ table: table.name,
326
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
327
+ name: column.name,
328
+ value: column.asExpression,
329
+ });
330
+ downQueries.push(insertQuery);
331
+ }
330
332
  }
331
333
  await this.executeQueries(upQueries, downQueries);
332
334
  }
@@ -401,6 +403,20 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
401
403
  return;
402
404
  index.name = this.dataSource.namingStrategy.indexName(newTable, index.columnNames, index.where);
403
405
  });
406
+ const hasGeneratedColumns = oldTable.columns.some((col) => col.generatedType);
407
+ if (hasGeneratedColumns) {
408
+ const updateQuery = this.updateTypeormMetadataSql({
409
+ table: oldTable.name,
410
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
411
+ valueToSet: { table: newTable.name },
412
+ });
413
+ const revertUpdateQuery = this.updateTypeormMetadataSql({
414
+ table: newTable.name,
415
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
416
+ valueToSet: { table: oldTable.name },
417
+ });
418
+ await this.executeQueries(updateQuery, revertUpdateQuery);
419
+ }
404
420
  // rename old table;
405
421
  oldTable.name = newTable.name;
406
422
  // recreate table with new constraint names
@@ -1589,7 +1605,6 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1589
1605
  // we should delete record from "typeorm_metadata" if generated column was removed
1590
1606
  // or it was changed to non-generated
1591
1607
  return (column.generatedType &&
1592
- column.asExpression &&
1593
1608
  (!newTableColumn ||
1594
1609
  (!newTableColumn.generatedType &&
1595
1610
  !newTableColumn.asExpression)));
@@ -1600,14 +1615,16 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1600
1615
  type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
1601
1616
  name: column.name,
1602
1617
  });
1603
- const insertQuery = this.insertTypeormMetadataSql({
1604
- table: oldTable.name,
1605
- type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
1606
- name: column.name,
1607
- value: column.asExpression,
1608
- });
1609
1618
  upQueries.push(deleteQuery);
1610
- downQueries.push(insertQuery);
1619
+ if (column.asExpression) {
1620
+ const insertQuery = this.insertTypeormMetadataSql({
1621
+ table: oldTable.name,
1622
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
1623
+ name: column.name,
1624
+ value: column.asExpression,
1625
+ });
1626
+ downQueries.push(insertQuery);
1627
+ }
1611
1628
  });
1612
1629
  // Step 2: add data for new generated columns
1613
1630
  newTable.columns
@@ -1631,7 +1648,7 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1631
1648
  });
1632
1649
  // Step 3: update changed expressions
1633
1650
  newTable.columns
1634
- .filter((column) => column.generatedType && column.asExpression)
1651
+ .filter((column) => column.generatedType)
1635
1652
  .forEach((column) => {
1636
1653
  const oldColumn = oldTable.columns.find((c) => c.name === column.name &&
1637
1654
  c.generatedType &&
@@ -1645,27 +1662,31 @@ class AbstractSqliteQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1645
1662
  type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
1646
1663
  name: oldColumn.name,
1647
1664
  });
1648
- const insertQuery = this.insertTypeormMetadataSql({
1649
- table: newTable.name,
1650
- type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
1651
- name: column.name,
1652
- value: column.asExpression,
1653
- });
1654
1665
  upQueries.push(deleteQuery);
1655
- upQueries.push(insertQuery);
1666
+ if (column.asExpression) {
1667
+ const insertQuery = this.insertTypeormMetadataSql({
1668
+ table: newTable.name,
1669
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
1670
+ name: column.name,
1671
+ value: column.asExpression,
1672
+ });
1673
+ upQueries.push(insertQuery);
1674
+ }
1656
1675
  // revert update
1657
- const revertInsertQuery = this.insertTypeormMetadataSql({
1658
- table: newTable.name,
1659
- type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
1660
- name: oldColumn.name,
1661
- value: oldColumn.asExpression,
1662
- });
1676
+ if (oldColumn.asExpression) {
1677
+ const revertInsertQuery = this.insertTypeormMetadataSql({
1678
+ table: newTable.name,
1679
+ type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
1680
+ name: oldColumn.name,
1681
+ value: oldColumn.asExpression,
1682
+ });
1683
+ downQueries.push(revertInsertQuery);
1684
+ }
1663
1685
  const revertDeleteQuery = this.deleteTypeormMetadataSql({
1664
1686
  table: oldTable.name,
1665
1687
  type: MetadataTableType_1.MetadataTableType.GENERATED_COLUMN,
1666
1688
  name: column.name,
1667
1689
  });
1668
- downQueries.push(revertInsertQuery);
1669
1690
  downQueries.push(revertDeleteQuery);
1670
1691
  });
1671
1692
  await this.executeQueries(upQueries, downQueries);