@entity-access/entity-access 1.0.165 → 1.0.167

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 (85) hide show
  1. package/README.md +177 -18
  2. package/dist/decorators/IColumn.d.ts +2 -0
  3. package/dist/decorators/IColumn.d.ts.map +1 -1
  4. package/dist/decorators/IForeignKeyConstraint.d.ts +12 -0
  5. package/dist/decorators/IForeignKeyConstraint.d.ts.map +1 -0
  6. package/dist/decorators/IForeignKeyConstraint.js +2 -0
  7. package/dist/decorators/IForeignKeyConstraint.js.map +1 -0
  8. package/dist/decorators/Relate.d.ts +5 -0
  9. package/dist/decorators/Relate.d.ts.map +1 -1
  10. package/dist/decorators/Relate.js +2 -1
  11. package/dist/decorators/Relate.js.map +1 -1
  12. package/dist/drivers/base/BaseDriver.d.ts +2 -1
  13. package/dist/drivers/base/BaseDriver.d.ts.map +1 -1
  14. package/dist/drivers/base/BaseDriver.js +75 -1
  15. package/dist/drivers/base/BaseDriver.js.map +1 -1
  16. package/dist/drivers/sql-server/ExpressionToSqlServer.d.ts +2 -1
  17. package/dist/drivers/sql-server/ExpressionToSqlServer.d.ts.map +1 -1
  18. package/dist/drivers/sql-server/ExpressionToSqlServer.js +64 -2
  19. package/dist/drivers/sql-server/ExpressionToSqlServer.js.map +1 -1
  20. package/dist/drivers/sql-server/SqlServerDriver.d.ts.map +1 -1
  21. package/dist/drivers/sql-server/SqlServerDriver.js +6 -1
  22. package/dist/drivers/sql-server/SqlServerDriver.js.map +1 -1
  23. package/dist/entity-query/EntityType.d.ts.map +1 -1
  24. package/dist/entity-query/EntityType.js +8 -0
  25. package/dist/entity-query/EntityType.js.map +1 -1
  26. package/dist/migrations/Migrations.d.ts +3 -1
  27. package/dist/migrations/Migrations.d.ts.map +1 -1
  28. package/dist/migrations/Migrations.js +17 -0
  29. package/dist/migrations/Migrations.js.map +1 -1
  30. package/dist/migrations/postgres/PostgresAutomaticMigrations.d.ts +2 -0
  31. package/dist/migrations/postgres/PostgresAutomaticMigrations.d.ts.map +1 -1
  32. package/dist/migrations/postgres/PostgresAutomaticMigrations.js +39 -0
  33. package/dist/migrations/postgres/PostgresAutomaticMigrations.js.map +1 -1
  34. package/dist/migrations/sql-server/SqlServerAutomaticMigrations.d.ts +2 -0
  35. package/dist/migrations/sql-server/SqlServerAutomaticMigrations.d.ts.map +1 -1
  36. package/dist/migrations/sql-server/SqlServerAutomaticMigrations.js +39 -0
  37. package/dist/migrations/sql-server/SqlServerAutomaticMigrations.js.map +1 -1
  38. package/dist/model/EntitySource.d.ts +2 -0
  39. package/dist/model/EntitySource.d.ts.map +1 -1
  40. package/dist/model/EntitySource.js +18 -0
  41. package/dist/model/EntitySource.js.map +1 -1
  42. package/dist/query/ast/ExpressionToSql.d.ts +2 -1
  43. package/dist/query/ast/ExpressionToSql.d.ts.map +1 -1
  44. package/dist/query/ast/ExpressionToSql.js +53 -1
  45. package/dist/query/ast/ExpressionToSql.js.map +1 -1
  46. package/dist/query/ast/Expressions.d.ts +9 -1
  47. package/dist/query/ast/Expressions.d.ts.map +1 -1
  48. package/dist/query/ast/Expressions.js +6 -0
  49. package/dist/query/ast/Expressions.js.map +1 -1
  50. package/dist/query/ast/Visitor.d.ts +2 -1
  51. package/dist/query/ast/Visitor.d.ts.map +1 -1
  52. package/dist/query/ast/Visitor.js +5 -0
  53. package/dist/query/ast/Visitor.js.map +1 -1
  54. package/dist/tests/db-tests/tests/upsert-test.d.ts +3 -0
  55. package/dist/tests/db-tests/tests/upsert-test.d.ts.map +1 -0
  56. package/dist/tests/db-tests/tests/upsert-test.js +14 -0
  57. package/dist/tests/db-tests/tests/upsert-test.js.map +1 -0
  58. package/dist/tests/model/ShoppingContext.d.ts +5 -0
  59. package/dist/tests/model/ShoppingContext.d.ts.map +1 -1
  60. package/dist/tests/model/ShoppingContext.js +24 -1
  61. package/dist/tests/model/ShoppingContext.js.map +1 -1
  62. package/dist/tsconfig.tsbuildinfo +1 -1
  63. package/dist/workflows/WorkflowStorage.d.ts +4 -1
  64. package/dist/workflows/WorkflowStorage.d.ts.map +1 -1
  65. package/dist/workflows/WorkflowStorage.js +24 -13
  66. package/dist/workflows/WorkflowStorage.js.map +1 -1
  67. package/package.json +3 -3
  68. package/src/decorators/IColumn.ts +3 -0
  69. package/src/decorators/IForeignKeyConstraint.ts +19 -0
  70. package/src/decorators/Relate.ts +8 -1
  71. package/src/drivers/base/BaseDriver.ts +89 -1
  72. package/src/drivers/sql-server/ExpressionToSqlServer.ts +79 -3
  73. package/src/drivers/sql-server/SqlServerDriver.ts +6 -1
  74. package/src/entity-query/EntityType.ts +9 -0
  75. package/src/migrations/Migrations.ts +25 -2
  76. package/src/migrations/postgres/PostgresAutomaticMigrations.ts +50 -0
  77. package/src/migrations/sql-server/SqlServerAutomaticMigrations.ts +47 -0
  78. package/src/model/EntitySource.ts +24 -1
  79. package/src/query/ast/ExpressionToSql.ts +67 -2
  80. package/src/query/ast/Expressions.ts +11 -1
  81. package/src/query/ast/Visitor.ts +6 -1
  82. package/src/tests/db-tests/tests/upsert-test.ts +18 -0
  83. package/src/tests/model/ShoppingContext.ts +22 -1
  84. package/src/workflows/WorkflowStorage.ts +27 -16
  85. package/tsconfig.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import ExpressionToSql from "../../query/ast/ExpressionToSql.js";
2
2
  import { NumberLiteral, OrderByExpression, ValuesStatement } from "../../query/ast/Expressions.js";
3
- import { prepare } from "../../query/ast/IStringTransformer.js";
3
+ import { prepare, prepareJoin } from "../../query/ast/IStringTransformer.js";
4
4
  export default class ExpressionToSqlServer extends ExpressionToSql {
5
5
  visitReturnUpdated(e) {
6
6
  if (!e) {
@@ -20,7 +20,7 @@ export default class ExpressionToSqlServer extends ExpressionToSql {
20
20
  return prepare ` OUTPUT ${fields}`;
21
21
  }
22
22
  visitInsertStatement(e) {
23
- const returnValues = this.visit(e.returnValues);
23
+ const returnValues = e.returnValues ? this.visit(e.returnValues) : [];
24
24
  if (e.values instanceof ValuesStatement) {
25
25
  const rows = [];
26
26
  for (const iterator of e.values.values) {
@@ -37,6 +37,68 @@ export default class ExpressionToSqlServer extends ExpressionToSql {
37
37
  }
38
38
  return prepare `INSERT INTO ${this.visit(e.table)} ${returnValues} ${this.visit(e.values)}`;
39
39
  }
40
+ visitUpsertStatement(e) {
41
+ const table = this.visit(e.table);
42
+ const insertColumns = [];
43
+ const insertValues = [];
44
+ const updateSet = [];
45
+ const compare = [];
46
+ const keys = [];
47
+ for (const { left, right } of e.insert) {
48
+ const c = this.visit(left);
49
+ const v = this.visit(right);
50
+ insertColumns.push(c);
51
+ insertValues.push(v);
52
+ }
53
+ for (const { left, right } of e.update) {
54
+ const c = this.visit(left);
55
+ const v = this.visit(right);
56
+ updateSet.push(prepare `${c} = ${v}`);
57
+ }
58
+ for (const { left, right } of e.keys) {
59
+ const c = this.visit(left);
60
+ const v = this.visit(right);
61
+ compare.push(prepare `${c} = ${v}`);
62
+ keys.push(c);
63
+ }
64
+ const returnValues = e.returnUpdated ? this.visit(e.returnUpdated) : [];
65
+ if (!updateSet.length) {
66
+ if (e.returnUpdated) {
67
+ const fields = e.returnUpdated.fields.map((x) => this.visit(x));
68
+ return prepare `
69
+ INSERT INTO ${table} (${prepareJoin(insertColumns)})
70
+ ${returnValues}
71
+ SELECT * FROM (VALUES (${prepareJoin(insertValues)})) as A(${prepareJoin(insertColumns)})
72
+ WHERE NOT EXISTS (SELECT 1 FROM ${table} WHERE ${prepareJoin(compare, " AND ")});
73
+ IF @@ROWCOUNT=0
74
+ BEGIN
75
+ SELECT ${prepareJoin(fields)} FROM ${table}
76
+ WHERE ${prepareJoin(compare, " AND ")}
77
+ END
78
+ `;
79
+ }
80
+ return prepare `INSERT INTO ${table} (${prepareJoin(insertColumns)})
81
+ SELECT * FROM (VALUES (${prepareJoin(insertValues)})) as A(${prepareJoin(insertColumns)})
82
+ WHERE NOT EXISTS (SELECT 1 FROM ${table} WHERE ${prepareJoin(compare, " AND ")});
83
+ IF @@ROWCOUNT=0
84
+ BEGIN
85
+ SELECT ${prepareJoin(keys)} FROM ${table}
86
+ WHERE ${prepareJoin(compare, " AND ")}
87
+ END;`;
88
+ }
89
+ return prepare `INSERT INTO ${table} (${prepareJoin(insertColumns)})
90
+ ${returnValues}
91
+ SELECT * FROM (VALUES (${prepareJoin(insertValues)})) as A(${prepareJoin(insertColumns)})
92
+ WHERE NOT EXISTS (SELECT 1 FROM ${table} WHERE ${prepareJoin(compare, " AND ")});
93
+ IF @@ROWCOUNT=0
94
+ BEGIN
95
+ UPDATE ${table}
96
+ SET
97
+ ${prepareJoin(updateSet)}
98
+ WHERE ${prepareJoin(compare, " AND ")}
99
+ ${returnValues}
100
+ END;`;
101
+ }
40
102
  visitSelectStatement(e) {
41
103
  this.prepareStatement(e);
42
104
  const orderBy = e.orderBy?.length > 0 ? prepare `\n\t\tORDER BY ${this.visitArray(e.orderBy)}` : "";
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionToSqlServer.js","sourceRoot":"","sources":["../../../src/drivers/sql-server/ExpressionToSqlServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpressionToSqlServer.js","sourceRoot":"","sources":["../../../src/drivers/sql-server/ExpressionToSqlServer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SqlServerDriver.d.ts","sourceRoot":"","sources":["../../../src/drivers/sql-server/SqlServerDriver.ts"],"names":[],"mappings":";AACA,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,UAAU,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAoB,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAoB,MAAM,uBAAuB,CAAC;AAClK,OAAO,GAAG,MAAM,OAAO,CAAC;AAMxB,MAAM,MAAM,0BAA0B,GAAG,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC;AAI1E,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU;IAQvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,OAAO,CAAC,gBAAgB,CAAgC;gBAE3B,MAAM,EAAE,0BAA0B;IAK/D,OAAO;IAIP,aAAa,IAAI,cAAc;CAGlC;AAED,qBAAa,mBAAoB,SAAQ,cAAc;IAQ/B,OAAO,CAAC,MAAM;IANlC,OAAO,CAAC,WAAW,CAAkB;IAErC,OAAO,KAAK,gBAAgB,GAE3B;gBAEW,MAAM,KAAA,EAAU,MAAM,EAAE,0BAA0B;IAIjD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAcxE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAsBvE,cAAc;IAuBR,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAYrD,mBAAmB,IAAI,UAAU;cAIxB,UAAU,CAAC,MAAM,EAAE,WAAW;IAkB9C,OAAO,CAAC,aAAa;CAexB"}
1
+ {"version":3,"file":"SqlServerDriver.d.ts","sourceRoot":"","sources":["../../../src/drivers/sql-server/SqlServerDriver.ts"],"names":[],"mappings":";AACA,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,UAAU,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAoB,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAoB,MAAM,uBAAuB,CAAC;AAClK,OAAO,GAAG,MAAM,OAAO,CAAC;AAMxB,MAAM,MAAM,0BAA0B,GAAG,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC;AAI1E,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU;IAQvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,OAAO,CAAC,gBAAgB,CAAgC;gBAE3B,MAAM,EAAE,0BAA0B;IAK/D,OAAO;IAIP,aAAa,IAAI,cAAc;CAGlC;AAED,qBAAa,mBAAoB,SAAQ,cAAc;IAQ/B,OAAO,CAAC,MAAM;IANlC,OAAO,CAAC,WAAW,CAAkB;IAErC,OAAO,KAAK,gBAAgB,GAE3B;gBAEW,MAAM,KAAA,EAAU,MAAM,EAAE,0BAA0B;IAIjD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAcxE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IA2BvE,cAAc;IAuBR,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAYrD,mBAAmB,IAAI,UAAU;cAIxB,UAAU,CAAC,MAAM,EAAE,WAAW;IAkB9C,OAAO,CAAC,aAAa;CAexB"}
@@ -54,7 +54,12 @@ export class SqlServerConnection extends BaseConnection {
54
54
  }
55
55
  try {
56
56
  const r = await rq.query(command.text);
57
- return { rows: r.recordset ?? [r.output], updated: r.rowsAffected[0] };
57
+ let rows = r.recordset ?? [r.output];
58
+ if (rows.length === 0) {
59
+ // do something..
60
+ rows = r.recordsets[1];
61
+ }
62
+ return { rows, updated: r.rowsAffected[0] };
58
63
  }
59
64
  catch (error) {
60
65
  error = `Failed executing ${command.text}\r\n${error.stack ?? error}`;
@@ -1 +1 @@
1
- {"version":3,"file":"SqlServerDriver.js","sourceRoot":"","sources":["../../../src/drivers/sql-server/SqlServerDriver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAqE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAClK,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,4BAA4B,MAAM,6DAA6D,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAI1D,MAAM,SAAS,GAAG,IAAI,UAAU,EAA8B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU;IAEnD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAID,YAA6B,MAAkC;QAC3D,KAAK,CAAC,MAAM,CAAC,CAAC;QADW,WAAM,GAAN,MAAM,CAA4B;QAFvD,qBAAgB,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAIpD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,OAAO;QACH,aAAa;IACjB,CAAC;IAED,aAAa;QACT,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;CACJ;AAED,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IAInD,IAAY,gBAAgB;QACxB,OAAO,IAAI,CAAC,QAAkC,CAAC;IACnD,CAAC;IAED,YAAY,MAAM,EAAU,MAAkC;QAC1D,KAAK,CAAC,MAAM,CAAC,CAAC;QADU,WAAM,GAAN,MAAM,CAA4B;IAE9D,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,MAAoB;QAC5D,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEvC,IAAI,OAAO,EAAE;YACT,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE;gBACnC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAChD,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;aACvC;SACJ;QAED,OAAO,IAAI,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACM,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,MAAoB;QAC3D,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAE3B,IAAI,OAAO,EAAE;YACT,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE;gBACnC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAChD,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;aACvC;SACJ;QAED,IAAI;YACA,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,YAAY,CAAE,CAAC,CAAC,EAAC,CAAC;SAC1E;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,GAAG,oBAAoB,OAAO,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;YACtE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1B;IACL,CAAC;IAEM,cAAc;QACjB,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;YACtB,MAAM,MAAM,GAAG,EAAE,GAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YACvD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAEhC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAEpD,MAAM,SAAS,GAAG,wEAAwE,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;kCACtG,EAAE;gBACpB,CAAC;YACL,IAAI;gBACA,MAAM,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;aACrC;YAAC,OAAM,KAAK,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;aAChF;QACL,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,EAAE;YAC1C,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK;SACrB,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACnE,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO,IAAI,iBAAiB,CAAC;YACzB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YACvC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,UAAU,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YACtE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC3C,CAAC,CAAC;IACP,CAAC;IAEM,mBAAmB;QACtB,OAAO,IAAI,4BAA4B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACnE,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,MAAmB;QAC1C,IAAI,OAAoB,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;SACxC;aAAM;YACH,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;SACpD;QACD,0BAA0B;QAC1B,IAAI,MAAM,EAAE;YACR,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,CAAC,cAAc,EAAE,CAAC;aAC3B;YACD,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;SAC3C;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACvE,OAAO,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,QAAQ,EACrE,GAAG,EAAE;YACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAChB,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtB,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC,CAAQ,CAAC;YACV,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAEpC,CAAC;CAEJ;AAED,MAAM,SAAS;IAQX,YACY,EAAe,EACf,OAAwC;QADxC,OAAE,GAAF,EAAE,CAAa;QACf,YAAO,GAAP,OAAO,CAAiC;QAR5C,YAAO,GAAU,EAAE,CAAC;QACpB,UAAK,GAAQ,IAAI,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAG,KAAK,CAAC;IAKiC,CAAC;IAExD,KAAK,CAAC,CAAC,IAAI,CAAC,GAAY,EAAE,CAAe;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC9B,EAAE,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;QAEjB,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,oBAAoB,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,KAAK,EAAE,CAAC,KAAK,CAAE,OAAe,CAAC,IAAI,CAAC,CAAC;QAErC,GAAG;YACC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAC;gBACxB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC1B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;gBAClB,KAAM,CAAC,CAAA,IAAI,CAAC;aACf;YACD,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,MAAM;aACT;YACD,MAAM,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACvC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;YACtC,CAAC,CAAC,CAAC;SACN,QAAQ,IAAI,EAAE;IACnB,CAAC;IACD,OAAO;QACH,qBAAqB;QACrB,wBAAwB;QACxB,IAAI;QACJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,CAAC,MAAM,CAAC,YAAY,CAAC;QACjB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;CAEJ"}
1
+ {"version":3,"file":"SqlServerDriver.js","sourceRoot":"","sources":["../../../src/drivers/sql-server/SqlServerDriver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EntityType.d.ts","sourceRoot":"","sources":["../../src/entity-query/EntityType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAIrD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAkC,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAErH,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,eAAO,MAAM,uBAAuB,eAA8B,CAAC;AACnE,eAAO,MAAM,eAAe,eAA8B,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC9B;AAGD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAE3B,SAAgB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEzC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,UAAU,EAAE,MAAM,CAAC;IAGnC,SAAgB,OAAO,EAAE,OAAO,EAAE,CAAM;IAExC,SAAgB,SAAS,EAAE,eAAe,EAAE,CAAM;IAElD,SAAgB,OAAO,EAAE,MAAM,EAAE,CAAM;IAEvC,SAAgB,IAAI,EAAE,OAAO,EAAE,CAAM;IAErC,SAAgB,OAAO,EAAE,OAAO,EAAE,CAAM;IAExC,IACW,kBAAkB,oEAO5B;IAED,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,WAAW,CAA2C;IAE9D,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,SAAS,CAAkB;gBAEvB,QAAQ,CAAC,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,kBAAkB;IAUxE,CAAC,uBAAuB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIzC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAM1C,SAAS,CAAC,CAAC,EAAE,OAAO;IAkBpB,SAAS,CAAC,IAAI,EAAE,MAAM;IAItB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAI5B,WAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,UAAU;IAiDnE,eAAe;;;;;;;;;;;;;IAiBf,eAAe;;;;;;;;;;;;;IAmBf,GAAG,CAAC,GAAG,EAAE,GAAG;CAWtB"}
1
+ {"version":3,"file":"EntityType.d.ts","sourceRoot":"","sources":["../../src/entity-query/EntityType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAIrD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAkC,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAErH,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,eAAO,MAAM,uBAAuB,eAA8B,CAAC;AACnE,eAAO,MAAM,eAAe,eAA8B,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC9B;AAGD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAE3B,SAAgB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEzC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,UAAU,EAAE,MAAM,CAAC;IAGnC,SAAgB,OAAO,EAAE,OAAO,EAAE,CAAM;IAExC,SAAgB,SAAS,EAAE,eAAe,EAAE,CAAM;IAElD,SAAgB,OAAO,EAAE,MAAM,EAAE,CAAM;IAEvC,SAAgB,IAAI,EAAE,OAAO,EAAE,CAAM;IAErC,SAAgB,OAAO,EAAE,OAAO,EAAE,CAAM;IAExC,IACW,kBAAkB,oEAO5B;IAED,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,WAAW,CAA2C;IAE9D,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,SAAS,CAAkB;gBAEvB,QAAQ,CAAC,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,kBAAkB;IAUxE,CAAC,uBAAuB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIzC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAM1C,SAAS,CAAC,CAAC,EAAE,OAAO;IAkBpB,SAAS,CAAC,IAAI,EAAE,MAAM;IAItB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAI5B,WAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,UAAU;IA0DnE,eAAe;;;;;;;;;;;;;IAiBf,eAAe;;;;;;;;;;;;;IAmBf,GAAG,CAAC,GAAG,EAAE,GAAG;CAWtB"}
@@ -104,6 +104,14 @@ export default class EntityType {
104
104
  relatedType.relations.push(inverseRelation);
105
105
  inverseRelation.relatedRelation = relation;
106
106
  relation.relatedRelation = inverseRelation;
107
+ let { foreignKeyConstraint } = relation;
108
+ if (foreignKeyConstraint) {
109
+ foreignKeyConstraint = { ...foreignKeyConstraint };
110
+ relation.foreignKeyConstraint = foreignKeyConstraint;
111
+ foreignKeyConstraint.name ||= `FK_${this.name}_${fkColumn.name}_${this.typeClass.name}_${relatedType.keys[0].name}`;
112
+ foreignKeyConstraint.column = fkColumn;
113
+ foreignKeyConstraint.refColumns = relatedType.keys;
114
+ }
107
115
  return relation;
108
116
  }
109
117
  selectAllFields() {
@@ -1 +1 @@
1
- {"version":3,"file":"EntityType.js","sourceRoot":"","sources":["../../src/entity-query/EntityType.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,UAAU,EAAgB,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACrH,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAI7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAQ3D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAmB3B,IACW,kBAAkB;QACzB,OAAO,IAAI,CAAC,MAAM;YACd,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;gBAClB,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC1C,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;aACzC,CAAC;YACF,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IASD,YAAY,QAAqB,EAAE,gBAAqC;QA3BxD,YAAO,GAAc,EAAE,CAAC;QAExB,cAAS,GAAsB,EAAE,CAAC;QAElC,YAAO,GAAa,EAAE,CAAC;QAEvB,SAAI,GAAc,EAAE,CAAC;QAErB,YAAO,GAAc,EAAE,CAAC;QAYhC,aAAQ,GAAyB,IAAI,GAAG,EAAE,CAAC;QAC3C,cAAS,GAAyB,IAAI,GAAG,EAAE,CAAC;QAC5C,gBAAW,GAAiC,IAAI,GAAG,EAAE,CAAC;QAM1D,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO;SACV;QACD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/E,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3H,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED,CAAC,uBAAuB,CAAC,CAAC,IAAY;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;IAEM,WAAW,CAAC,IAAY;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAEM,SAAS,CAAC,CAAU;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE;YACV,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;YACnC,CAAC,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC;SAC7B;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,CAAC,GAAG,EAAE;YACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrB;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACxB;IACL,CAAC;IAEM,SAAS,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAEM,QAAQ,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,WAAW,CAAC,QAAyB,EAAE,eAAmC;QACtE,kDAAkD;QAClD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE9C,aAAa;QACb,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtD,IAAG,CAAC,QAAQ,EAAE;YACV,QAAQ,GAAG;gBACP,IAAI,EAAE,QAAQ,CAAC,UAAU;gBACzB,mCAAmC;gBACnC,UAAU,EAAE,QAAQ;gBACpB,QAAQ,EAAE,QAAQ;aACrB,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;SACpD;QACD,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC/B,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAChC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAChC;QAED,IAAI,CAAC,eAAe,EAAE;YAClB,OAAO,QAAQ,CAAC;SACnB;QAED,kCAAkC;QAClC,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC/D,QAAQ,CAAC,aAAa,GAAG,WAAW,CAAC;QACrC,MAAM,eAAe,GAAoB;YACrC,IAAI,EAAE,QAAQ,CAAC,WAAW;YAC1B,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,QAAQ,CAAC,IAAI;YAC1B,gBAAgB,EAAE,IAAI,CAAC,SAAS;YAChC,iBAAiB,EAAE,IAAI;YACvB,QAAQ;YACR,iBAAiB,EAAE,IAAI;YACvB,YAAY,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YAC3D,eAAe,EAAE,QAAQ;YACzB,aAAa,EAAE,IAAI;SACtB,CAAC;QAEF,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACnE,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5C,eAAe,CAAC,eAAe,GAAG,QAAQ,CAAC;QAC3C,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC;QAC3C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,eAAe;QAClB,wBAAwB;QACxB,qCAAqC;QACrC,IAAI;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACvC,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACpD,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC;YACpC,MAAM;YACN,KAAK,EAAE,IAAI;YACX,eAAe,EAAE,EAAE;YACnB,MAAM;SACT,CAAC,CAAC;QACH,OAAO,EAAE,GAAI,IAAI,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAEM,eAAe;QAClB,wBAAwB;QACxB,qCAAqC;QACrC,IAAI;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACvC,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACpD,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;QAChB,MAAM,MAAM,GAAG;YACX,aAAa,CAAC,GAAG;SACpB,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC;YACpC,MAAM;YACN,KAAK,EAAE,IAAI;YACX,eAAe,EAAE,EAAE;YACnB,MAAM;SACT,CAAC,CAAC;QACH,OAAO,EAAE,GAAI,IAAI,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAEM,GAAG,CAAC,GAAQ;QACf,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;gBAClB,SAAS;aACZ;YACD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SAC5B;QACD,OAAO,CAAC,CAAC;IACb,CAAC;CACJ;AA/JG;IAAC,aAAa;;;oDAQb"}
1
+ {"version":3,"file":"EntityType.js","sourceRoot":"","sources":["../../src/entity-query/EntityType.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type QueryCompiler from "../compiler/QueryCompiler.js";
2
- import { IIndex } from "../decorators/IIndex.js";
2
+ import type { IForeignKeyConstraint } from "../decorators/IForeignKeyConstraint.js";
3
+ import type { IIndex } from "../decorators/IIndex.js";
3
4
  import type EntityType from "../entity-query/EntityType.js";
4
5
  import type EntityContext from "../model/EntityContext.js";
5
6
  export default abstract class Migrations {
@@ -9,5 +10,6 @@ export default abstract class Migrations {
9
10
  migrateIndexInternal(context: EntityContext, index: IIndex, type: EntityType): Promise<void>;
10
11
  abstract migrateIndex(context: EntityContext, index: IIndex, type: EntityType): any;
11
12
  abstract migrateTable(context: EntityContext, type: EntityType): Promise<any>;
13
+ abstract migrateForeignKey(context: EntityContext, constraint: IForeignKeyConstraint): any;
12
14
  }
13
15
  //# sourceMappingURL=Migrations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Migrations.d.ts","sourceRoot":"","sources":["../../src/migrations/Migrations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,aAAa,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAG3D,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,UAAU;IAExB,SAAS,CAAC,QAAQ,EAAE,aAAa;gBAAvB,QAAQ,EAAE,aAAa;IAEhC,OAAO,CAAC,OAAO,EAAE,aAAa;IA+BrC,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAwBlF,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAE7E,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;CAGhF"}
1
+ {"version":3,"file":"Migrations.d.ts","sourceRoot":"","sources":["../../src/migrations/Migrations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,aAAa,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAG3D,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,UAAU;IAExB,SAAS,CAAC,QAAQ,EAAE,aAAa;gBAAvB,QAAQ,EAAE,aAAa;IAEhC,OAAO,CAAC,OAAO,EAAE,aAAa;IAoDrC,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAwBlF,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAE7E,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAE7E,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,qBAAqB;CAGvF"}
@@ -27,6 +27,23 @@ export default class Migrations {
27
27
  for (const index of type.indexes) {
28
28
  await this.migrateIndexInternal(context, index, type);
29
29
  }
30
+ for (const { isInverseRelation, foreignKeyConstraint, relatedTypeClass } of type.relations) {
31
+ if (isInverseRelation) {
32
+ continue;
33
+ }
34
+ if (!foreignKeyConstraint) {
35
+ continue;
36
+ }
37
+ const relatedEntity = model.register(relatedTypeClass)[modelSymbol];
38
+ foreignKeyConstraint.type = type;
39
+ foreignKeyConstraint.column = type.getProperty(foreignKeyConstraint.column.name).field;
40
+ const refColumns = foreignKeyConstraint.refColumns;
41
+ foreignKeyConstraint.refColumns = [];
42
+ for (const iterator of refColumns) {
43
+ foreignKeyConstraint.refColumns.push(relatedEntity.getProperty(iterator.name).field);
44
+ }
45
+ await this.migrateForeignKey(context, foreignKeyConstraint);
46
+ }
30
47
  }
31
48
  }
32
49
  async migrateIndexInternal(context, index, type) {
@@ -1 +1 @@
1
- {"version":3,"file":"Migrations.js","sourceRoot":"","sources":["../../src/migrations/Migrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Migrations.js","sourceRoot":"","sources":["../../src/migrations/Migrations.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { IColumn } from "../../decorators/IColumn.js";
2
+ import { IForeignKeyConstraint } from "../../decorators/IForeignKeyConstraint.js";
2
3
  import { IIndex } from "../../decorators/IIndex.js";
3
4
  import { BaseConnection } from "../../drivers/base/BaseDriver.js";
4
5
  import EntityType from "../../entity-query/EntityType.js";
@@ -10,5 +11,6 @@ export default class PostgresAutomaticMigrations extends PostgresMigrations {
10
11
  createColumns(driver: BaseConnection, type: EntityType, nonKeyColumns: IColumn[]): Promise<void>;
11
12
  createTable(driver: BaseConnection, type: EntityType, keys: IColumn[]): Promise<void>;
12
13
  migrateIndex(context: EntityContext, index: IIndex, type: EntityType): Promise<void>;
14
+ migrateForeignKey(context: EntityContext, constraint: IForeignKeyConstraint): Promise<void>;
13
15
  }
14
16
  //# sourceMappingURL=PostgresAutomaticMigrations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresAutomaticMigrations.d.ts","sourceRoot":"","sources":["../../../src/migrations/postgres/PostgresAutomaticMigrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,cAAc,EAAc,MAAM,kCAAkC,CAAC;AAC9E,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAC1D,OAAO,aAAa,MAAM,8BAA8B,CAAC;AAEzD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAEzD,MAAM,CAAC,OAAO,OAAO,2BAA4B,SAAQ,kBAAkB;IAEjE,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU;IAoBrD,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE;IAc5E,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE;IAgChF,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;IAqCrE,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;CAmB7E"}
1
+ {"version":3,"file":"PostgresAutomaticMigrations.d.ts","sourceRoot":"","sources":["../../../src/migrations/postgres/PostgresAutomaticMigrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,cAAc,EAAc,MAAM,kCAAkC,CAAC;AAC9E,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAC1D,OAAO,aAAa,MAAM,8BAA8B,CAAC;AAEzD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAEzD,MAAM,CAAC,OAAO,OAAO,2BAA4B,SAAQ,kBAAkB;IAEjE,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU;IAoBrD,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE;IAc5E,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE;IAgChF,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;IAqCrE,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAkBpE,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,qBAAqB;CAkDpF"}
@@ -95,5 +95,44 @@ export default class PostgresAutomaticMigrations extends PostgresMigrations {
95
95
  }
96
96
  await driver.executeQuery(query);
97
97
  }
98
+ async migrateForeignKey(context, constraint) {
99
+ const { type } = constraint;
100
+ const name = type.schema
101
+ ? type.schema + "." + type.name
102
+ : type.name;
103
+ let text = `select constraint_name
104
+ from information_schema.constraint_column_usage
105
+ where table_name = $1 and constraint_name = $2 `;
106
+ const values = [type.name, constraint.name];
107
+ if (type.schema) {
108
+ text += " and schema_name = $3";
109
+ values.push(type.schema);
110
+ }
111
+ const driver = context.connection;
112
+ const r = await driver.executeQuery({ text, values });
113
+ if (r.rows?.length) {
114
+ return;
115
+ }
116
+ text = `ALTER TABLE ${name} ADD CONSTRAINT ${constraint.name}
117
+ foreign key (${constraint.column.columnName})
118
+ references ${constraint.refColumns[0].entityType.name}(
119
+ ${constraint.refColumns.map((x) => x.columnName).join(",")}
120
+ ) `;
121
+ switch (constraint.cascade) {
122
+ case "delete":
123
+ text += " ON DELETE CASCADE";
124
+ break;
125
+ case "set-null":
126
+ text += " ON DELETE SET NULL";
127
+ break;
128
+ case "set-default":
129
+ text += " ON DELETE SET DEFAULT";
130
+ break;
131
+ case "restrict":
132
+ text += " ON DELETE RESTRICT";
133
+ break;
134
+ }
135
+ await driver.executeQuery(text);
136
+ }
98
137
  }
99
138
  //# sourceMappingURL=PostgresAutomaticMigrations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresAutomaticMigrations.js","sourceRoot":"","sources":["../../../src/migrations/postgres/PostgresAutomaticMigrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresAutomaticMigrations.js","sourceRoot":"","sources":["../../../src/migrations/postgres/PostgresAutomaticMigrations.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { IColumn } from "../../decorators/IColumn.js";
2
+ import { IForeignKeyConstraint } from "../../decorators/IForeignKeyConstraint.js";
2
3
  import { IIndex } from "../../decorators/IIndex.js";
3
4
  import { BaseConnection } from "../../drivers/base/BaseDriver.js";
4
5
  import EntityType from "../../entity-query/EntityType.js";
@@ -10,5 +11,6 @@ export default class SqlServerAutomaticMigrations extends SqlServerMigrations {
10
11
  createColumns(driver: BaseConnection, type: EntityType, nonKeyColumns: IColumn[]): Promise<void>;
11
12
  createTable(driver: BaseConnection, type: EntityType, keys: IColumn[]): Promise<void>;
12
13
  migrateIndex(context: EntityContext, index: IIndex, type: EntityType): Promise<void>;
14
+ migrateForeignKey(context: EntityContext, constraint: IForeignKeyConstraint): Promise<void>;
13
15
  }
14
16
  //# sourceMappingURL=SqlServerAutomaticMigrations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqlServerAutomaticMigrations.d.ts","sourceRoot":"","sources":["../../../src/migrations/sql-server/SqlServerAutomaticMigrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,cAAc,EAAc,MAAM,kCAAkC,CAAC;AAE9E,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAC1D,OAAO,aAAa,MAAM,8BAA8B,CAAC;AAEzD,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,4BAA6B,SAAQ,mBAAmB;IAEnE,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU;IAoBrD,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE;IAc5E,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE;IAqChF,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;IAmCrE,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;CAsB7E"}
1
+ {"version":3,"file":"SqlServerAutomaticMigrations.d.ts","sourceRoot":"","sources":["../../../src/migrations/sql-server/SqlServerAutomaticMigrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,cAAc,EAAc,MAAM,kCAAkC,CAAC;AAE9E,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAC1D,OAAO,aAAa,MAAM,8BAA8B,CAAC;AAEzD,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,4BAA6B,SAAQ,mBAAmB;IAEnE,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU;IAoBrD,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE;IAc5E,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE;IAqChF,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;IAmCrE,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAqBpE,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,qBAAqB;CA+CpF"}
@@ -105,5 +105,44 @@ export default class SqlServerAutomaticMigrations extends SqlServerMigrations {
105
105
  query += `\nEND`;
106
106
  await driver.executeQuery(query);
107
107
  }
108
+ async migrateForeignKey(context, constraint) {
109
+ const { type } = constraint;
110
+ const name = type.schema
111
+ ? type.schema + "." + type.name
112
+ : type.name;
113
+ let text = `SELECT COUNT(*)
114
+ FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
115
+ WHERE TABLE_NAME='${type.name}'
116
+ AND CONSTRAINT_NAME='${constraint.name}'
117
+ AND CONSTRAINT_TYPE='FOREIGN KEY'`;
118
+ if (type.schema) {
119
+ text += ` and schema_name = ${type.schema}`;
120
+ }
121
+ const driver = context.connection;
122
+ const r = await driver.executeQuery(text);
123
+ if (r.rows?.length) {
124
+ return;
125
+ }
126
+ text = `ALTER TABLE ${name} ADD CONSTRAINT ${constraint.name}
127
+ foreign key (${constraint.column.columnName})
128
+ references ${constraint.refColumns[0].entityType.name}(
129
+ ${constraint.refColumns.map((x) => x.columnName).join(",")}
130
+ ) `;
131
+ switch (constraint.cascade) {
132
+ case "delete":
133
+ text += " ON DELETE CASCADE";
134
+ break;
135
+ case "set-null":
136
+ text += " ON DELETE SET NULL";
137
+ break;
138
+ case "set-default":
139
+ text += " ON DELETE SET DEFAULT";
140
+ break;
141
+ case "restrict":
142
+ text += " ON DELETE RESTRICT";
143
+ break;
144
+ }
145
+ await driver.executeQuery(text);
146
+ }
108
147
  }
109
148
  //# sourceMappingURL=SqlServerAutomaticMigrations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqlServerAutomaticMigrations.js","sourceRoot":"","sources":["../../../src/migrations/sql-server/SqlServerAutomaticMigrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlServerAutomaticMigrations.js","sourceRoot":"","sources":["../../../src/migrations/sql-server/SqlServerAutomaticMigrations.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,12 @@ import { contextSymbol, modelSymbol } from "../common/symbols/symbols.js";
5
5
  export declare class EntitySource<T = any> {
6
6
  private readonly model;
7
7
  private readonly context;
8
+ statements: {};
8
9
  get [modelSymbol](): EntityType;
9
10
  get [contextSymbol](): EntityContext;
10
11
  private filter;
11
12
  constructor(model: EntityType, context: EntityContext);
13
+ saveDirect(item: Partial<T>, mode: "update" | "upsert" | "insert", keys?: Partial<T>): Promise<Partial<T>>;
12
14
  add(item: Partial<T>): T;
13
15
  /**
14
16
  * Entity can only be deleted if all primary keys are present
@@ -1 +1 @@
1
- {"version":3,"file":"EntitySource.d.ts","sourceRoot":"","sources":["../../src/model/EntitySource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGjF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE1E,qBAAa,YAAY,CAAC,CAAC,GAAG,GAAG;IAazB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ5B,IAAI,CAAC,WAAW,CAAC,eAEhB;IAED,IAAG,CAAC,aAAa,CAAC,kBAEjB;IAED,OAAO,CAAC,MAAM,CAAa;gBAGN,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,aAAa;IAKpC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAa/B;;;OAGG;IACI,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAkBvB,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC;IAItB,QAAQ,CAAC,IAAI,GAAE,MAAM,GAAG,QAAiB,GAAG,YAAY,CAAC,CAAC,CAAC;IAM3D,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;IAIpD,OAAO;IAYP,OAAO;;;;CAOjB"}
1
+ {"version":3,"file":"EntitySource.d.ts","sourceRoot":"","sources":["../../src/model/EntitySource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG1E,qBAAa,YAAY,CAAC,CAAC,GAAG,GAAG;IAkBzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjBrB,UAAU,KAEf;IAEF,IAAI,CAAC,WAAW,CAAC,eAEhB;IAED,IAAG,CAAC,aAAa,CAAC,kBAEjB;IAED,OAAO,CAAC,MAAM,CAAa;gBAIN,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,aAAa;IAK9B,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAkB1F,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAa/B;;;OAGG;IACI,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAkBvB,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC;IAItB,QAAQ,CAAC,IAAI,GAAE,MAAM,GAAG,QAAiB,GAAG,YAAY,CAAC,CAAC,CAAC;IAM3D,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;IAIpD,OAAO;IAYP,OAAO;;;;CAOjB"}
@@ -10,6 +10,24 @@ export class EntitySource {
10
10
  constructor(model, context) {
11
11
  this.model = model;
12
12
  this.context = context;
13
+ this.statements = {};
14
+ }
15
+ async saveDirect(item, mode, keys) {
16
+ const { driver } = this.context;
17
+ const expression = driver.createUpsertExpression(this.model, item, mode, keys);
18
+ const { text, values } = driver.compiler.compileExpression(null, expression);
19
+ const r = await this.context.connection.executeQuery({ text, values });
20
+ if (r.rows?.length) {
21
+ const first = r.rows[0];
22
+ for (const key in first) {
23
+ if (Object.prototype.hasOwnProperty.call(first, key)) {
24
+ const element = first[key];
25
+ const name = this.model.getColumn(key).name;
26
+ item[name] = element;
27
+ }
28
+ }
29
+ }
30
+ return item;
13
31
  }
14
32
  add(item) {
15
33
  const p = Object.getPrototypeOf(item).constructor;
@@ -1 +1 @@
1
- {"version":3,"file":"EntitySource.js","sourceRoot":"","sources":["../../src/model/EntitySource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntitySource.js","sourceRoot":"","sources":["../../src/model/EntitySource.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import QueryCompiler from "../../compiler/QueryCompiler.js";
2
2
  import EntityType, { IEntityProperty } from "../../entity-query/EntityType.js";
3
3
  import EntityQuery from "../../model/EntityQuery.js";
4
- import { ArrowFunctionExpression, BigIntLiteral, BinaryExpression, BooleanLiteral, CallExpression, CoalesceExpression, ConditionalExpression, Constant, DeleteStatement, ExistsExpression, Expression, ExpressionAs, Identifier, InsertStatement, JoinExpression, MemberExpression, NewObjectExpression, NotExits, NullExpression, NumberLiteral, OrderByExpression, ParameterExpression, ReturnUpdated, SelectStatement, StringLiteral, TableLiteral, TemplateLiteral, UnionAllStatement, UpdateStatement, ValuesStatement } from "./Expressions.js";
4
+ import { ArrowFunctionExpression, BigIntLiteral, BinaryExpression, BooleanLiteral, CallExpression, CoalesceExpression, ConditionalExpression, Constant, DeleteStatement, ExistsExpression, Expression, ExpressionAs, Identifier, InsertStatement, JoinExpression, MemberExpression, UpsertStatement, NewObjectExpression, NotExits, NullExpression, NumberLiteral, OrderByExpression, ParameterExpression, ReturnUpdated, SelectStatement, StringLiteral, TableLiteral, TemplateLiteral, UnionAllStatement, UpdateStatement, ValuesStatement } from "./Expressions.js";
5
5
  import { ITextQuery } from "./IStringTransformer.js";
6
6
  import ParameterScope from "./ParameterScope.js";
7
7
  import Visitor from "./Visitor.js";
@@ -46,6 +46,7 @@ export default class ExpressionToSql extends Visitor<ITextQuery> {
46
46
  visitReturnUpdated(e: ReturnUpdated): ITextQuery;
47
47
  visitInsertStatement(e: InsertStatement): ITextQuery;
48
48
  visitUpdateStatement(e: UpdateStatement): ITextQuery;
49
+ visitUpsertStatement(e: UpsertStatement): ITextQuery;
49
50
  visitNewObjectExpression(e: NewObjectExpression): ITextQuery;
50
51
  visitDeleteStatement(e: DeleteStatement): ITextQuery;
51
52
  visitJoinExpression(e: JoinExpression): ITextQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionToSql.d.ts","sourceRoot":"","sources":["../../../src/query/ast/ExpressionToSql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpressionToSql.d.ts","sourceRoot":"","sources":["../../../src/query/ast/ExpressionToSql.ts"],"names":[],"mappings":"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"}