@uql/core 3.7.14 → 3.8.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 (215) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/README.md +12 -5
  3. package/dist/browser/uql-browser.min.js +16 -15
  4. package/dist/browser/uql-browser.min.js.map +1 -1
  5. package/dist/dialect/abstractDialect.d.ts +7 -2
  6. package/dist/dialect/abstractDialect.d.ts.map +1 -1
  7. package/dist/dialect/abstractDialect.js +9 -1
  8. package/dist/dialect/abstractDialect.js.map +1 -1
  9. package/dist/dialect/abstractSqlDialect.d.ts +6 -6
  10. package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
  11. package/dist/dialect/abstractSqlDialect.js +14 -13
  12. package/dist/dialect/abstractSqlDialect.js.map +1 -1
  13. package/dist/dialect/dialectConfig.d.ts +23 -0
  14. package/dist/dialect/dialectConfig.d.ts.map +1 -0
  15. package/dist/dialect/dialectConfig.js +96 -0
  16. package/dist/dialect/dialectConfig.js.map +1 -0
  17. package/dist/dialect/index.d.ts +1 -0
  18. package/dist/dialect/index.d.ts.map +1 -1
  19. package/dist/dialect/index.js +1 -0
  20. package/dist/dialect/index.js.map +1 -1
  21. package/dist/entity/decorator/definition.d.ts.map +1 -1
  22. package/dist/entity/decorator/definition.js +2 -1
  23. package/dist/entity/decorator/definition.js.map +1 -1
  24. package/dist/entity/decorator/index-decorator.d.ts +36 -0
  25. package/dist/entity/decorator/index-decorator.d.ts.map +1 -0
  26. package/dist/entity/decorator/index-decorator.js +51 -0
  27. package/dist/entity/decorator/index-decorator.js.map +1 -0
  28. package/dist/entity/decorator/index.d.ts +1 -0
  29. package/dist/entity/decorator/index.d.ts.map +1 -1
  30. package/dist/entity/decorator/index.js +1 -0
  31. package/dist/entity/decorator/index.js.map +1 -1
  32. package/dist/maria/mariaDialect.d.ts +2 -1
  33. package/dist/maria/mariaDialect.d.ts.map +1 -1
  34. package/dist/maria/mariaDialect.js +3 -0
  35. package/dist/maria/mariaDialect.js.map +1 -1
  36. package/dist/migrate/builder/columnBuilder.d.ts +79 -0
  37. package/dist/migrate/builder/columnBuilder.d.ts.map +1 -0
  38. package/dist/migrate/builder/columnBuilder.js +159 -0
  39. package/dist/migrate/builder/columnBuilder.js.map +1 -0
  40. package/dist/migrate/builder/expressions.d.ts +87 -0
  41. package/dist/migrate/builder/expressions.d.ts.map +1 -0
  42. package/dist/migrate/builder/expressions.js +150 -0
  43. package/dist/migrate/builder/expressions.js.map +1 -0
  44. package/dist/migrate/builder/index.d.ts +6 -0
  45. package/dist/migrate/builder/index.d.ts.map +1 -0
  46. package/dist/migrate/builder/index.js +6 -0
  47. package/dist/migrate/builder/index.js.map +1 -0
  48. package/dist/migrate/builder/migrationBuilder.d.ts +109 -0
  49. package/dist/migrate/builder/migrationBuilder.d.ts.map +1 -0
  50. package/dist/migrate/builder/migrationBuilder.js +453 -0
  51. package/dist/migrate/builder/migrationBuilder.js.map +1 -0
  52. package/dist/migrate/builder/tableBuilder.d.ts +51 -0
  53. package/dist/migrate/builder/tableBuilder.d.ts.map +1 -0
  54. package/dist/migrate/builder/tableBuilder.js +291 -0
  55. package/dist/migrate/builder/tableBuilder.js.map +1 -0
  56. package/dist/migrate/builder/types.d.ts +466 -0
  57. package/dist/migrate/builder/types.d.ts.map +1 -0
  58. package/dist/migrate/builder/types.js +8 -0
  59. package/dist/migrate/builder/types.js.map +1 -0
  60. package/dist/migrate/cli.d.ts +4 -6
  61. package/dist/migrate/cli.d.ts.map +1 -1
  62. package/dist/migrate/cli.js +166 -23
  63. package/dist/migrate/cli.js.map +1 -1
  64. package/dist/migrate/codegen/entityCodeGenerator.d.ts +137 -0
  65. package/dist/migrate/codegen/entityCodeGenerator.d.ts.map +1 -0
  66. package/dist/migrate/codegen/entityCodeGenerator.js +401 -0
  67. package/dist/migrate/codegen/entityCodeGenerator.js.map +1 -0
  68. package/dist/migrate/codegen/entityMerger.d.ts +111 -0
  69. package/dist/migrate/codegen/entityMerger.d.ts.map +1 -0
  70. package/dist/migrate/codegen/entityMerger.js +291 -0
  71. package/dist/migrate/codegen/entityMerger.js.map +1 -0
  72. package/dist/migrate/codegen/index.d.ts +10 -0
  73. package/dist/migrate/codegen/index.d.ts.map +1 -0
  74. package/dist/migrate/codegen/index.js +14 -0
  75. package/dist/migrate/codegen/index.js.map +1 -0
  76. package/dist/migrate/codegen/migrationCodeGenerator.d.ts +62 -0
  77. package/dist/migrate/codegen/migrationCodeGenerator.d.ts.map +1 -0
  78. package/dist/migrate/codegen/migrationCodeGenerator.js +356 -0
  79. package/dist/migrate/codegen/migrationCodeGenerator.js.map +1 -0
  80. package/dist/migrate/codegen/smartRelationDetector.d.ts +48 -0
  81. package/dist/migrate/codegen/smartRelationDetector.d.ts.map +1 -0
  82. package/dist/migrate/codegen/smartRelationDetector.js +135 -0
  83. package/dist/migrate/codegen/smartRelationDetector.js.map +1 -0
  84. package/dist/migrate/drift/driftDetector.d.ts +81 -0
  85. package/dist/migrate/drift/driftDetector.d.ts.map +1 -0
  86. package/dist/migrate/drift/driftDetector.js +248 -0
  87. package/dist/migrate/drift/driftDetector.js.map +1 -0
  88. package/dist/migrate/drift/index.d.ts +7 -0
  89. package/dist/migrate/drift/index.d.ts.map +1 -0
  90. package/dist/migrate/drift/index.js +7 -0
  91. package/dist/migrate/drift/index.js.map +1 -0
  92. package/dist/migrate/generator/index.d.ts +1 -3
  93. package/dist/migrate/generator/index.d.ts.map +1 -1
  94. package/dist/migrate/generator/index.js +1 -3
  95. package/dist/migrate/generator/index.js.map +1 -1
  96. package/dist/migrate/generator/mongoSchemaGenerator.d.ts +29 -3
  97. package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -1
  98. package/dist/migrate/generator/mongoSchemaGenerator.js +86 -4
  99. package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -1
  100. package/dist/migrate/index.d.ts +7 -8
  101. package/dist/migrate/index.d.ts.map +1 -1
  102. package/dist/migrate/index.js +11 -9
  103. package/dist/migrate/index.js.map +1 -1
  104. package/dist/migrate/introspection/baseSqlIntrospector.d.ts +28 -0
  105. package/dist/migrate/introspection/baseSqlIntrospector.d.ts.map +1 -0
  106. package/dist/migrate/introspection/baseSqlIntrospector.js +135 -0
  107. package/dist/migrate/introspection/baseSqlIntrospector.js.map +1 -0
  108. package/dist/migrate/introspection/mongoIntrospector.d.ts +6 -0
  109. package/dist/migrate/introspection/mongoIntrospector.d.ts.map +1 -1
  110. package/dist/migrate/introspection/mongoIntrospector.js +54 -0
  111. package/dist/migrate/introspection/mongoIntrospector.js.map +1 -1
  112. package/dist/migrate/introspection/mysqlIntrospector.d.ts +3 -1
  113. package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -1
  114. package/dist/migrate/introspection/mysqlIntrospector.js +20 -11
  115. package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -1
  116. package/dist/migrate/introspection/postgresIntrospector.d.ts +3 -2
  117. package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -1
  118. package/dist/migrate/introspection/postgresIntrospector.js +23 -14
  119. package/dist/migrate/introspection/postgresIntrospector.js.map +1 -1
  120. package/dist/migrate/introspection/sqliteIntrospector.d.ts +2 -2
  121. package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -1
  122. package/dist/migrate/introspection/sqliteIntrospector.js +15 -13
  123. package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -1
  124. package/dist/migrate/migrator.d.ts +29 -0
  125. package/dist/migrate/migrator.d.ts.map +1 -1
  126. package/dist/migrate/migrator.js +31 -23
  127. package/dist/migrate/migrator.js.map +1 -1
  128. package/dist/migrate/schemaGenerator.d.ts +72 -22
  129. package/dist/migrate/schemaGenerator.d.ts.map +1 -1
  130. package/dist/migrate/schemaGenerator.js +389 -153
  131. package/dist/migrate/schemaGenerator.js.map +1 -1
  132. package/dist/migrate/sync/index.d.ts +7 -0
  133. package/dist/migrate/sync/index.d.ts.map +1 -0
  134. package/dist/migrate/sync/index.js +7 -0
  135. package/dist/migrate/sync/index.js.map +1 -0
  136. package/dist/migrate/sync/schemaSync.d.ts +132 -0
  137. package/dist/migrate/sync/schemaSync.d.ts.map +1 -0
  138. package/dist/migrate/sync/schemaSync.js +260 -0
  139. package/dist/migrate/sync/schemaSync.js.map +1 -0
  140. package/dist/mongo/mongoDialect.d.ts +2 -1
  141. package/dist/mongo/mongoDialect.d.ts.map +1 -1
  142. package/dist/mongo/mongoDialect.js +3 -0
  143. package/dist/mongo/mongoDialect.js.map +1 -1
  144. package/dist/mysql/mysqlDialect.d.ts +2 -0
  145. package/dist/mysql/mysqlDialect.d.ts.map +1 -1
  146. package/dist/mysql/mysqlDialect.js +3 -0
  147. package/dist/mysql/mysqlDialect.js.map +1 -1
  148. package/dist/postgres/postgresDialect.js +1 -1
  149. package/dist/postgres/postgresDialect.js.map +1 -1
  150. package/dist/schema/canonicalType.d.ts +42 -0
  151. package/dist/schema/canonicalType.d.ts.map +1 -0
  152. package/dist/schema/canonicalType.js +524 -0
  153. package/dist/schema/canonicalType.js.map +1 -0
  154. package/dist/schema/index.d.ts +28 -0
  155. package/dist/schema/index.d.ts.map +1 -0
  156. package/dist/schema/index.js +29 -0
  157. package/dist/schema/index.js.map +1 -0
  158. package/dist/schema/schemaAST.d.ts +155 -0
  159. package/dist/schema/schemaAST.d.ts.map +1 -0
  160. package/dist/schema/schemaAST.js +496 -0
  161. package/dist/schema/schemaAST.js.map +1 -0
  162. package/dist/schema/schemaASTBuilder.d.ts +58 -0
  163. package/dist/schema/schemaASTBuilder.d.ts.map +1 -0
  164. package/dist/schema/schemaASTBuilder.js +193 -0
  165. package/dist/schema/schemaASTBuilder.js.map +1 -0
  166. package/dist/schema/schemaASTDiffer.d.ts +84 -0
  167. package/dist/schema/schemaASTDiffer.d.ts.map +1 -0
  168. package/dist/schema/schemaASTDiffer.js +431 -0
  169. package/dist/schema/schemaASTDiffer.js.map +1 -0
  170. package/dist/schema/types.d.ts +347 -0
  171. package/dist/schema/types.d.ts.map +1 -0
  172. package/dist/schema/types.js +11 -0
  173. package/dist/schema/types.js.map +1 -0
  174. package/dist/sqlite/sqliteDialect.js +1 -1
  175. package/dist/sqlite/sqliteDialect.js.map +1 -1
  176. package/dist/sqlite/sqliteQuerierPool.js.map +1 -1
  177. package/dist/type/config.d.ts +6 -0
  178. package/dist/type/config.d.ts.map +1 -1
  179. package/dist/type/entity.d.ts +24 -0
  180. package/dist/type/entity.d.ts.map +1 -1
  181. package/dist/type/migration.d.ts +54 -4
  182. package/dist/type/migration.d.ts.map +1 -1
  183. package/dist/type/querier.d.ts +2 -5
  184. package/dist/type/querier.d.ts.map +1 -1
  185. package/dist/type/querier.js.map +1 -1
  186. package/dist/type/query.d.ts +8 -0
  187. package/dist/type/query.d.ts.map +1 -1
  188. package/dist/util/field.util.d.ts +0 -1
  189. package/dist/util/field.util.d.ts.map +1 -1
  190. package/dist/util/field.util.js +8 -2
  191. package/dist/util/field.util.js.map +1 -1
  192. package/dist/util/logger.d.ts.map +1 -1
  193. package/dist/util/logger.js +2 -1
  194. package/dist/util/logger.js.map +1 -1
  195. package/dist/util/string.util.d.ts +24 -0
  196. package/dist/util/string.util.d.ts.map +1 -1
  197. package/dist/util/string.util.js +57 -0
  198. package/dist/util/string.util.js.map +1 -1
  199. package/package.json +2 -2
  200. package/dist/migrate/generator/mysqlSchemaGenerator.d.ts +0 -15
  201. package/dist/migrate/generator/mysqlSchemaGenerator.d.ts.map +0 -1
  202. package/dist/migrate/generator/mysqlSchemaGenerator.js +0 -88
  203. package/dist/migrate/generator/mysqlSchemaGenerator.js.map +0 -1
  204. package/dist/migrate/generator/postgresSchemaGenerator.d.ts +0 -19
  205. package/dist/migrate/generator/postgresSchemaGenerator.d.ts.map +0 -1
  206. package/dist/migrate/generator/postgresSchemaGenerator.js +0 -115
  207. package/dist/migrate/generator/postgresSchemaGenerator.js.map +0 -1
  208. package/dist/migrate/generator/sqliteSchemaGenerator.d.ts +0 -16
  209. package/dist/migrate/generator/sqliteSchemaGenerator.d.ts.map +0 -1
  210. package/dist/migrate/generator/sqliteSchemaGenerator.js +0 -74
  211. package/dist/migrate/generator/sqliteSchemaGenerator.js.map +0 -1
  212. package/dist/migrate/type.d.ts +0 -2
  213. package/dist/migrate/type.d.ts.map +0 -1
  214. package/dist/migrate/type.js +0 -2
  215. package/dist/migrate/type.js.map +0 -1
@@ -0,0 +1,291 @@
1
+ /**
2
+ * Table Builder
3
+ *
4
+ * Fluent API for defining tables in migrations.
5
+ */
6
+ import { ColumnBuilder } from './columnBuilder.js';
7
+ import { t } from './expressions.js';
8
+ /**
9
+ * Builder for table-level foreign keys.
10
+ */
11
+ class TableForeignKeyBuilder {
12
+ _columns;
13
+ _referencesTable;
14
+ _referencesColumns = [];
15
+ _onDelete = 'NO ACTION';
16
+ _onUpdate = 'NO ACTION';
17
+ _name;
18
+ constructor(columns, _parent) {
19
+ this._columns = columns;
20
+ }
21
+ references(table, columns) {
22
+ this._referencesTable = table;
23
+ this._referencesColumns = columns;
24
+ return this;
25
+ }
26
+ onDelete(action) {
27
+ this._onDelete = action;
28
+ return this;
29
+ }
30
+ onUpdate(action) {
31
+ this._onUpdate = action;
32
+ return this;
33
+ }
34
+ name(name) {
35
+ this._name = name;
36
+ return this;
37
+ }
38
+ /**
39
+ * Build the foreign key definition.
40
+ */
41
+ build() {
42
+ if (!this._referencesTable)
43
+ return undefined;
44
+ return {
45
+ name: this._name,
46
+ columns: this._columns,
47
+ referencesTable: this._referencesTable,
48
+ referencesColumns: this._referencesColumns,
49
+ onDelete: this._onDelete,
50
+ onUpdate: this._onUpdate,
51
+ };
52
+ }
53
+ }
54
+ /**
55
+ * Builder for table definitions with a fluent API.
56
+ */
57
+ export class TableBuilder {
58
+ _name;
59
+ _columnBuilders = [];
60
+ _primaryKey;
61
+ _indexes = [];
62
+ _foreignKeyBuilders = [];
63
+ _comment;
64
+ constructor(name) {
65
+ this._name = name;
66
+ }
67
+ // ============================================================================
68
+ // Numeric Types
69
+ // ============================================================================
70
+ id(name = 'id', options = {}) {
71
+ const col = new ColumnBuilder(name, { category: 'integer' }, { ...options, primaryKey: true, autoIncrement: true });
72
+ this._columnBuilders.push(col);
73
+ return col;
74
+ }
75
+ integer(name, options = {}) {
76
+ const col = new ColumnBuilder(name, { category: 'integer' }, options);
77
+ this._columnBuilders.push(col);
78
+ return col;
79
+ }
80
+ smallint(name, options = {}) {
81
+ const col = new ColumnBuilder(name, { category: 'integer', size: 'small' }, options);
82
+ this._columnBuilders.push(col);
83
+ return col;
84
+ }
85
+ bigint(name, options = {}) {
86
+ const col = new ColumnBuilder(name, { category: 'integer', size: 'big' }, options);
87
+ this._columnBuilders.push(col);
88
+ return col;
89
+ }
90
+ float(name, options = {}) {
91
+ const col = new ColumnBuilder(name, { category: 'float' }, options);
92
+ this._columnBuilders.push(col);
93
+ return col;
94
+ }
95
+ double(name, options = {}) {
96
+ const col = new ColumnBuilder(name, { category: 'float', size: 'big' }, options);
97
+ this._columnBuilders.push(col);
98
+ return col;
99
+ }
100
+ decimal(name, options = {}) {
101
+ const { precision, scale, ...rest } = options;
102
+ const col = new ColumnBuilder(name, { category: 'decimal', precision, scale }, rest);
103
+ this._columnBuilders.push(col);
104
+ return col;
105
+ }
106
+ // ============================================================================
107
+ // String Types
108
+ // ============================================================================
109
+ string(name, options = {}) {
110
+ const { length = 255, ...rest } = options;
111
+ const col = new ColumnBuilder(name, { category: 'string', length }, rest);
112
+ this._columnBuilders.push(col);
113
+ return col;
114
+ }
115
+ char(name, options = {}) {
116
+ const { length = 1, ...rest } = options;
117
+ const col = new ColumnBuilder(name, { category: 'string', length }, rest);
118
+ this._columnBuilders.push(col);
119
+ return col;
120
+ }
121
+ text(name, options = {}) {
122
+ const col = new ColumnBuilder(name, { category: 'string' }, options);
123
+ this._columnBuilders.push(col);
124
+ return col;
125
+ }
126
+ // ============================================================================
127
+ // Boolean
128
+ // ============================================================================
129
+ boolean(name, options = {}) {
130
+ const col = new ColumnBuilder(name, { category: 'boolean' }, options);
131
+ this._columnBuilders.push(col);
132
+ return col;
133
+ }
134
+ // ============================================================================
135
+ // Date/Time Types
136
+ // ============================================================================
137
+ date(name, options = {}) {
138
+ const col = new ColumnBuilder(name, { category: 'date' }, options);
139
+ this._columnBuilders.push(col);
140
+ return col;
141
+ }
142
+ time(name, options = {}) {
143
+ const col = new ColumnBuilder(name, { category: 'time' }, options);
144
+ this._columnBuilders.push(col);
145
+ return col;
146
+ }
147
+ timestamp(name, options = {}) {
148
+ const col = new ColumnBuilder(name, { category: 'timestamp' }, options);
149
+ this._columnBuilders.push(col);
150
+ return col;
151
+ }
152
+ timestamptz(name, options = {}) {
153
+ const col = new ColumnBuilder(name, { category: 'timestamp', withTimezone: true }, options);
154
+ this._columnBuilders.push(col);
155
+ return col;
156
+ }
157
+ // ============================================================================
158
+ // JSON Types
159
+ // ============================================================================
160
+ json(name, options = {}) {
161
+ const col = new ColumnBuilder(name, { category: 'json' }, options);
162
+ this._columnBuilders.push(col);
163
+ return col;
164
+ }
165
+ jsonb(name, options = {}) {
166
+ // JSONB is the same category, dialect handles the difference
167
+ const col = new ColumnBuilder(name, { category: 'json' }, options);
168
+ this._columnBuilders.push(col);
169
+ return col;
170
+ }
171
+ // ============================================================================
172
+ // Other Types
173
+ // ============================================================================
174
+ uuid(name, options = {}) {
175
+ const col = new ColumnBuilder(name, { category: 'uuid' }, options);
176
+ this._columnBuilders.push(col);
177
+ return col;
178
+ }
179
+ blob(name, options = {}) {
180
+ const col = new ColumnBuilder(name, { category: 'blob' }, options);
181
+ this._columnBuilders.push(col);
182
+ return col;
183
+ }
184
+ vector(name, options = {}) {
185
+ const { dimensions, ...rest } = options;
186
+ const col = new ColumnBuilder(name, { category: 'vector', length: dimensions }, rest);
187
+ this._columnBuilders.push(col);
188
+ return col;
189
+ }
190
+ // ============================================================================
191
+ // Convenience Methods
192
+ // ============================================================================
193
+ createdAt() {
194
+ const col = new ColumnBuilder('createdAt', { category: 'timestamp' }, { defaultValue: t.now() });
195
+ this._columnBuilders.push(col);
196
+ return col;
197
+ }
198
+ updatedAt() {
199
+ const col = new ColumnBuilder('updatedAt', { category: 'timestamp' }, { defaultValue: t.now() });
200
+ this._columnBuilders.push(col);
201
+ return col;
202
+ }
203
+ timestamps() {
204
+ this.createdAt();
205
+ this.updatedAt();
206
+ }
207
+ // ============================================================================
208
+ // Indexes & Constraints
209
+ // ============================================================================
210
+ primaryKey(columns) {
211
+ this._primaryKey = columns;
212
+ return this;
213
+ }
214
+ unique(columns, name) {
215
+ const indexName = name ?? `uq_${this._name}_${columns.join('_')}`;
216
+ this._indexes.push({
217
+ name: indexName,
218
+ columns,
219
+ unique: true,
220
+ });
221
+ return this;
222
+ }
223
+ index(columns, name) {
224
+ const indexName = name ?? `idx_${this._name}_${columns.join('_')}`;
225
+ this._indexes.push({
226
+ name: indexName,
227
+ columns,
228
+ unique: false,
229
+ });
230
+ return this;
231
+ }
232
+ foreignKey(columns) {
233
+ const fk = new TableForeignKeyBuilder(columns, this);
234
+ this._foreignKeyBuilders.push(fk);
235
+ return fk;
236
+ }
237
+ // ============================================================================
238
+ // Utilities
239
+ // ============================================================================
240
+ comment(text) {
241
+ this._comment = text;
242
+ return this;
243
+ }
244
+ /**
245
+ * Build the table definition.
246
+ */
247
+ build() {
248
+ // Build all columns from builders
249
+ const columns = this._columnBuilders.map((cb) => cb.build());
250
+ // Collect column-level indexes
251
+ for (const col of columns) {
252
+ if (col.index) {
253
+ const indexName = typeof col.index === 'string' ? col.index : `idx_${this._name}_${col.name}`;
254
+ // Only add if not already in table-level indexes
255
+ if (!this._indexes.some((idx) => idx.name === indexName)) {
256
+ this._indexes.push({
257
+ name: indexName,
258
+ columns: [col.name],
259
+ unique: col.unique,
260
+ });
261
+ }
262
+ }
263
+ }
264
+ // Build foreign keys
265
+ const foreignKeys = this._foreignKeyBuilders
266
+ .map((fk) => fk.build())
267
+ .filter((fk) => fk !== undefined);
268
+ // Collect column-level foreign keys
269
+ for (const col of columns) {
270
+ if (col.foreignKey) {
271
+ foreignKeys.push({
272
+ name: col.foreignKey.name,
273
+ columns: [col.name],
274
+ referencesTable: col.foreignKey.table,
275
+ referencesColumns: col.foreignKey.columns,
276
+ onDelete: col.foreignKey.onDelete,
277
+ onUpdate: col.foreignKey.onUpdate,
278
+ });
279
+ }
280
+ }
281
+ return {
282
+ name: this._name,
283
+ columns,
284
+ primaryKey: this._primaryKey,
285
+ indexes: this._indexes,
286
+ foreignKeys,
287
+ comment: this._comment,
288
+ };
289
+ }
290
+ }
291
+ //# sourceMappingURL=tableBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableBuilder.js","sourceRoot":"","sources":["../../../src/migrate/builder/tableBuilder.ts"],"names":[],"mappings":"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"}