forge-sql-orm 2.0.17 → 2.0.19

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 (41) hide show
  1. package/README.md +95 -4
  2. package/dist/ForgeSQLORM.js +382 -60
  3. package/dist/ForgeSQLORM.js.map +1 -1
  4. package/dist/ForgeSQLORM.mjs +382 -60
  5. package/dist/ForgeSQLORM.mjs.map +1 -1
  6. package/dist/core/ForgeSQLAnalyseOperations.d.ts +250 -0
  7. package/dist/core/ForgeSQLAnalyseOperations.d.ts.map +1 -0
  8. package/dist/core/ForgeSQLCrudOperations.d.ts +1 -1
  9. package/dist/core/ForgeSQLCrudOperations.d.ts.map +1 -1
  10. package/dist/core/ForgeSQLORM.d.ts +12 -2
  11. package/dist/core/ForgeSQLORM.d.ts.map +1 -1
  12. package/dist/core/ForgeSQLQueryBuilder.d.ts +112 -21
  13. package/dist/core/ForgeSQLQueryBuilder.d.ts.map +1 -1
  14. package/dist/core/ForgeSQLSelectOperations.d.ts.map +1 -1
  15. package/dist/core/SystemTables.d.ts +167 -0
  16. package/dist/core/SystemTables.d.ts.map +1 -1
  17. package/dist/index.d.ts +1 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/utils/forgeDriverProxy.d.ts +11 -0
  20. package/dist/utils/forgeDriverProxy.d.ts.map +1 -0
  21. package/dist/utils/sqlHints.d.ts +21 -0
  22. package/dist/utils/sqlHints.d.ts.map +1 -0
  23. package/dist/utils/sqlUtils.d.ts +2 -8
  24. package/dist/utils/sqlUtils.d.ts.map +1 -1
  25. package/dist/webtriggers/applyMigrationsWebTrigger.d.ts.map +1 -1
  26. package/dist/webtriggers/dropMigrationWebTrigger.d.ts +2 -4
  27. package/dist/webtriggers/dropMigrationWebTrigger.d.ts.map +1 -1
  28. package/package.json +4 -12
  29. package/src/core/ForgeSQLAnalyseOperations.ts +461 -0
  30. package/src/core/ForgeSQLCrudOperations.ts +15 -8
  31. package/src/core/ForgeSQLORM.ts +46 -9
  32. package/src/core/ForgeSQLQueryBuilder.ts +129 -32
  33. package/src/core/ForgeSQLSelectOperations.ts +4 -6
  34. package/src/core/SystemTables.ts +175 -0
  35. package/src/index.ts +1 -0
  36. package/src/utils/forgeDriverProxy.ts +27 -0
  37. package/src/utils/sqlHints.ts +63 -0
  38. package/src/utils/sqlUtils.ts +36 -32
  39. package/src/webtriggers/applyMigrationsWebTrigger.ts +32 -16
  40. package/src/webtriggers/dropMigrationWebTrigger.ts +5 -6
  41. package/src/webtriggers/fetchSchemaWebTrigger.ts +2 -10
@@ -57,5 +57,172 @@ export declare const migrations: import("drizzle-orm/mysql-core").MySqlTableWith
57
57
  };
58
58
  dialect: "mysql";
59
59
  }>;
60
+ export interface ExplainAnalyzeRow {
61
+ id: string;
62
+ estRows?: string;
63
+ estCost?: string;
64
+ actRows?: string;
65
+ task?: string;
66
+ accessObject?: string;
67
+ executionInfo?: string;
68
+ operatorInfo?: string;
69
+ memory?: string;
70
+ disk?: string;
71
+ }
72
+ export interface SlowQueryNormalized {
73
+ time: string;
74
+ txnStartTs: number;
75
+ user: string;
76
+ host: string;
77
+ connId: number;
78
+ db: string;
79
+ query: string;
80
+ digest: string;
81
+ queryTime: number;
82
+ compileTime: number;
83
+ optimizeTime: number;
84
+ processTime: number;
85
+ waitTime: number;
86
+ parseTime: number;
87
+ rewriteTime: number;
88
+ copTime: number;
89
+ copProcAvg: number;
90
+ copProcMax: number;
91
+ copProcP90: number;
92
+ copProcAddr: string;
93
+ copWaitAvg: number;
94
+ copWaitMax: number;
95
+ copWaitP90: number;
96
+ copWaitAddr: string;
97
+ memMax: number;
98
+ diskMax: number;
99
+ totalKeys: number;
100
+ processKeys: number;
101
+ requestCount: number;
102
+ kvTotal: number;
103
+ pdTotal: number;
104
+ resultRows: number;
105
+ rocksdbBlockCacheHitCount: number;
106
+ rocksdbBlockReadCount: number;
107
+ rocksdbBlockReadByte: number;
108
+ plan: string;
109
+ parsedPlan?: ExplainAnalyzeRow[];
110
+ binaryPlan: string;
111
+ planDigest: string;
112
+ }
113
+ export interface ClusterStatementRowCamelCase {
114
+ instance: string;
115
+ summaryBeginTime: string;
116
+ summaryEndTime: string;
117
+ stmtType: string;
118
+ schemaName: string;
119
+ digest: string;
120
+ digestText: string;
121
+ tableNames: string;
122
+ indexNames: string | null;
123
+ sampleUser: string;
124
+ execCount: number;
125
+ sumErrors: number;
126
+ sumWarnings: number;
127
+ sumLatency: number;
128
+ maxLatency: number;
129
+ minLatency: number;
130
+ avgLatency: number;
131
+ avgParseLatency: number;
132
+ maxParseLatency: number;
133
+ avgCompileLatency: number;
134
+ maxCompileLatency: number;
135
+ sumCopTaskNum: number;
136
+ maxCopProcessTime: number;
137
+ maxCopProcessAddress: string;
138
+ maxCopWaitTime: number;
139
+ maxCopWaitAddress: string;
140
+ avgProcessTime: number;
141
+ maxProcessTime: number;
142
+ avgWaitTime: number;
143
+ maxWaitTime: number;
144
+ avgBackoffTime: number;
145
+ maxBackoffTime: number;
146
+ avgTotalKeys: number;
147
+ maxTotalKeys: number;
148
+ avgProcessedKeys: number;
149
+ maxProcessedKeys: number;
150
+ avgRocksdbDeleteSkippedCount: number;
151
+ maxRocksdbDeleteSkippedCount: number;
152
+ avgRocksdbKeySkippedCount: number;
153
+ maxRocksdbKeySkippedCount: number;
154
+ avgRocksdbBlockCacheHitCount: number;
155
+ maxRocksdbBlockCacheHitCount: number;
156
+ avgRocksdbBlockReadCount: number;
157
+ maxRocksdbBlockReadCount: number;
158
+ avgRocksdbBlockReadByte: number;
159
+ maxRocksdbBlockReadByte: number;
160
+ avgPrewriteTime: number;
161
+ maxPrewriteTime: number;
162
+ avgCommitTime: number;
163
+ maxCommitTime: number;
164
+ avgGetCommitTsTime: number;
165
+ maxGetCommitTsTime: number;
166
+ avgCommitBackoffTime: number;
167
+ maxCommitBackoffTime: number;
168
+ avgResolveLockTime: number;
169
+ maxResolveLockTime: number;
170
+ avgLocalLatchWaitTime: number;
171
+ maxLocalLatchWaitTime: number;
172
+ avgWriteKeys: number;
173
+ maxWriteKeys: number;
174
+ avgWriteSize: number;
175
+ maxWriteSize: number;
176
+ avgPrewriteRegions: number;
177
+ maxPrewriteRegions: number;
178
+ avgTxnRetry: number;
179
+ maxTxnRetry: number;
180
+ sumExecRetry: number;
181
+ sumExecRetryTime: number;
182
+ sumBackoffTimes: number;
183
+ backoffTypes: string | null;
184
+ avgMem: number;
185
+ maxMem: number;
186
+ avgDisk: number;
187
+ maxDisk: number;
188
+ avgKvTime: number;
189
+ avgPdTime: number;
190
+ avgBackoffTotalTime: number;
191
+ avgWriteSqlRespTime: number;
192
+ avgTidbCpuTime: number;
193
+ avgTikvCpuTime: number;
194
+ maxResultRows: number;
195
+ minResultRows: number;
196
+ avgResultRows: number;
197
+ prepared: number;
198
+ avgAffectedRows: number;
199
+ firstSeen: string;
200
+ lastSeen: string;
201
+ planInCache: number;
202
+ planCacheHits: number;
203
+ planInBinding: number;
204
+ querySampleText: string;
205
+ prevSampleText: string;
206
+ planDigest: string;
207
+ plan: string;
208
+ binaryPlan: string;
209
+ charset: string;
210
+ collation: string;
211
+ planHint: string;
212
+ maxRequestUnitRead: number;
213
+ avgRequestUnitRead: number;
214
+ maxRequestUnitWrite: number;
215
+ avgRequestUnitWrite: number;
216
+ maxQueuedRcTime: number;
217
+ avgQueuedRcTime: number;
218
+ resourceGroup: string;
219
+ planCacheUnqualified: number;
220
+ planCacheUnqualifiedLastReason: string;
221
+ parsedPlan?: ExplainAnalyzeRow[];
222
+ }
223
+ /**
224
+ * Retrieves all tables from the database
225
+ */
226
+ export declare function getTables(): Promise<string[]>;
60
227
  export declare const forgeSystemTables: Table[];
61
228
  //# sourceMappingURL=SystemTables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SystemTables.d.ts","sourceRoot":"","sources":["../../src/core/SystemTables.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIrB,CAAC;AAEH,eAAO,MAAM,iBAAiB,EAAE,KAAK,EAAiB,CAAC"}
1
+ {"version":3,"file":"SystemTables.d.ts","sourceRoot":"","sources":["../../src/core/SystemTables.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,5 +6,6 @@ export * from "./utils/sqlUtils";
6
6
  export * from "./utils/forgeDriver";
7
7
  export * from "./webtriggers";
8
8
  export * from "./lib/drizzle/extensions/selectAliased";
9
+ export * from "./core/SystemTables";
9
10
  export default ForgeSQLORM;
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAE7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,wCAAwC,CAAC;AAEvD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAE7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,wCAAwC,CAAC;AACvD,cAAc,qBAAqB,CAAC;AAEpC,eAAe,WAAW,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { SqlHints } from "./sqlHints";
2
+ /**
3
+ * Creates a proxy for the forgeDriver that injects SQL hints
4
+ * @returns A proxied version of the forgeDriver
5
+ */
6
+ export declare function createForgeDriverProxy(options?: SqlHints, logRawSqlQuery?: boolean): (query: string, params: any[], method: "all" | "execute") => Promise<{
7
+ rows: any[];
8
+ insertId?: number;
9
+ affectedRows?: number;
10
+ }>;
11
+ //# sourceMappingURL=forgeDriverProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forgeDriverProxy.d.ts","sourceRoot":"","sources":["../../src/utils/forgeDriverProxy.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,OAAO,IAE/E,OAAO,MAAM,EACb,QAAQ,GAAG,EAAE,EACb,QAAQ,KAAK,GAAG,SAAS,KACxB,OAAO,CAAC;IACT,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC,CAUH"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Interface for SQL hints configuration
3
+ */
4
+ export interface SqlHints {
5
+ /** SQL hints for SELECT queries */
6
+ select?: string[];
7
+ /** SQL hints for INSERT queries */
8
+ insert?: string[];
9
+ /** SQL hints for UPDATE queries */
10
+ update?: string[];
11
+ /** SQL hints for DELETE queries */
12
+ delete?: string[];
13
+ }
14
+ /**
15
+ * Detects the type of SQL query and injects appropriate hints
16
+ * @param query - The SQL query to analyze
17
+ * @param hints - The hints configuration
18
+ * @returns The modified query with injected hints
19
+ */
20
+ export declare function injectSqlHints(query: string, hints?: SqlHints): string;
21
+ //# sourceMappingURL=sqlHints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlHints.d.ts","sourceRoot":"","sources":["../../src/utils/sqlHints.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CA0CtE"}
@@ -34,12 +34,6 @@ export interface MetadataInfo {
34
34
  * @returns Date object
35
35
  */
36
36
  export declare const parseDateTime: (value: string, format: string) => Date;
37
- /**
38
- * Extracts the alias from a SQL query
39
- * @param query - The SQL query to extract the alias from
40
- * @returns The extracted alias or the original query if no alias found
41
- */
42
- export declare function extractAlias(query: string): string;
43
37
  /**
44
38
  * Gets primary keys from the schema.
45
39
  * @template T - The type of the table schema
@@ -55,10 +49,10 @@ export declare function getPrimaryKeys<T extends AnyMySqlTable>(table: T): [stri
55
49
  export declare function getTableMetadata(table: AnyMySqlTable): MetadataInfo;
56
50
  /**
57
51
  * Generates SQL statements to drop tables
58
- * @param tables - Array of table schemas
52
+ * @param tables - Array of table names
59
53
  * @returns Array of SQL statements for dropping tables
60
54
  */
61
- export declare function generateDropTableStatements(tables: AnyMySqlTable[]): string[];
55
+ export declare function generateDropTableStatements(tables: string[]): string[];
62
56
  type AliasColumnMap = Record<string, AnyColumn>;
63
57
  export declare function mapSelectAllFieldsToAlias(selections: any, name: string, uniqName: string, fields: any, aliasMap: AliasColumnMap): any;
64
58
  export declare function mapSelectFieldsWithAlias<TSelection extends SelectedFields>(fields: TSelection): {
@@ -1 +1 @@
1
- {"version":3,"file":"sqlUtils.d.ts","sourceRoot":"","sources":["../../src/utils/sqlUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA0C,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,aAAa,EAAqB,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AAIzF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,8BAA8B;IAC9B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,yCAAyC;IACzC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,oCAAoC;IACpC,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,oCAAoC;IACpC,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,0CAA0C;IAC1C,iBAAiB,EAAE,uBAAuB,EAAE,CAAC;IAC7C,kCAAkC;IAClC,MAAM,EAAE,GAAG,EAAE,CAAC;CACf;AAUD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,IAM7D,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAkCvF;AA0DD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAoEnE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAc7E;AAED,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAmBhD,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,GAAG,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAC,MAAM,EACf,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,cAAc,GACvB,GAAG,CAmBL;AACD,wBAAgB,wBAAwB,CAAC,UAAU,SAAS,cAAc,EACxE,MAAM,EAAE,UAAU,GACjB;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,CAUtD;AAsED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,UAAU,EACpD,IAAI,EAAE,CAAC,EAAE,EACT,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAClC,CAAC,EAAE,CAUL"}
1
+ {"version":3,"file":"sqlUtils.d.ts","sourceRoot":"","sources":["../../src/utils/sqlUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA0C,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,aAAa,EAAqB,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AAIzF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,8BAA8B;IAC9B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,yCAAyC;IACzC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,oCAAoC;IACpC,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,oCAAoC;IACpC,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,0CAA0C;IAC1C,iBAAiB,EAAE,uBAAuB,EAAE,CAAC;IAC7C,kCAAkC;IAClC,MAAM,EAAE,GAAG,EAAE,CAAC;CACf;AAUD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,IAiB7D,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAkCvF;AA0DD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAoEnE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQtE;AAED,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAuBhD,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,GAAG,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,cAAc,GACvB,GAAG,CAmBL;AACD,wBAAgB,wBAAwB,CAAC,UAAU,SAAS,cAAc,EACxE,MAAM,EAAE,UAAU,GACjB;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,CAUtD;AAsED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,UAAU,EACpD,IAAI,EAAE,CAAC,EAAE,EACT,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAClC,CAAC,EAAE,CAUL"}
@@ -1 +1 @@
1
- {"version":3,"file":"applyMigrationsWebTrigger.d.ts","sourceRoot":"","sources":["../../src/webtriggers/applyMigrationsWebTrigger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,qBAAqB,GAChC,WAAW,CAAC,eAAe,EAAE,eAAe,KAAK,OAAO,CAAC,eAAe,CAAC;;;;;;;EAqB1E,CAAC"}
1
+ {"version":3,"file":"applyMigrationsWebTrigger.d.ts","sourceRoot":"","sources":["../../src/webtriggers/applyMigrationsWebTrigger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,qBAAqB,GAChC,WAAW,CAAC,eAAe,EAAE,eAAe,KAAK,OAAO,CAAC,eAAe,CAAC;;;;;;;EAqC1E,CAAC"}
@@ -1,4 +1,3 @@
1
- import { AnyMySqlTable } from "drizzle-orm/mysql-core";
2
1
  import { TriggerResponse } from "./index";
3
2
  /**
4
3
  * ⚠️ DEVELOPMENT ONLY WEB TRIGGER ⚠️
@@ -12,7 +11,6 @@ import { TriggerResponse } from "./index";
12
11
  * - It may affect application functionality
13
12
  * - It could lead to data loss and system instability
14
13
  *
15
- * @param tables - Array of table schemas to drop
16
14
  * @returns {Promise<TriggerResponse<string>>} A response containing:
17
15
  * - On success: 200 status with warning message about permanent deletion
18
16
  * - On failure: 500 status with error message
@@ -20,9 +18,9 @@ import { TriggerResponse } from "./index";
20
18
  * @example
21
19
  * ```typescript
22
20
  * // Example usage in development only
23
- * await dropSchemaMigrations([users, orders]);
21
+ * await dropSchemaMigrations();
24
22
  * // ⚠️ Warning: This will permanently delete all data in users and orders tables
25
23
  * ```
26
24
  */
27
- export declare function dropSchemaMigrations(tables: AnyMySqlTable[]): Promise<TriggerResponse<string>>;
25
+ export declare function dropSchemaMigrations(): Promise<TriggerResponse<string>>;
28
26
  //# sourceMappingURL=dropMigrationWebTrigger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropMigrationWebTrigger.d.ts","sourceRoot":"","sources":["../../src/webtriggers/dropMigrationWebTrigger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAmB,eAAe,EAAE,MAAM,SAAS,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EAAE,GACtB,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAmBlC"}
1
+ {"version":3,"file":"dropMigrationWebTrigger.d.ts","sourceRoot":"","sources":["../../src/webtriggers/dropMigrationWebTrigger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,eAAe,EAAE,MAAM,SAAS,CAAC;AAG3D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAqB7E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forge-sql-orm",
3
- "version": "2.0.17",
3
+ "version": "2.0.19",
4
4
  "description": "Drizzle ORM integration for Forge-SQL in Atlassian Forge applications.",
5
5
  "main": "dist/ForgeSQLORM.js",
6
6
  "module": "dist/ForgeSQLORM.mjs",
@@ -33,23 +33,17 @@
33
33
  ],
34
34
  "devDependencies": {
35
35
  "@eslint/js": "^9.24.0",
36
- "@typescript-eslint/eslint-plugin": "^8.29.0",
37
- "@typescript-eslint/parser": "^8.29.0",
36
+ "@typescript-eslint/eslint-plugin": "^8.29.1",
37
+ "@typescript-eslint/parser": "^8.29.1",
38
38
  "@vitest/coverage-v8": "^3.1.1",
39
39
  "@vitest/ui": "^3.1.1",
40
40
  "eslint": "^9.24.0",
41
41
  "eslint-config-prettier": "^10.1.1",
42
42
  "eslint-plugin-import": "^2.31.0",
43
- "eslint-plugin-node": "^11.1.0",
44
- "eslint-plugin-prettier": "^5.2.6",
45
- "eslint-plugin-promise": "^7.2.1",
46
43
  "eslint-plugin-vitest": "^0.5.4",
47
- "globals": "^16.0.0",
48
44
  "prettier": "^3.5.3",
49
45
  "ts-node": "^10.9.2",
50
- "tsup": "^8.4.0",
51
46
  "typescript": "^5.8.3",
52
- "typescript-eslint": "^8.29.0",
53
47
  "uuid": "^11.1.0",
54
48
  "vite": "^6.2.5",
55
49
  "vitest": "^3.1.1"
@@ -76,11 +70,9 @@
76
70
  "src",
77
71
  "README.md"
78
72
  ],
79
- "dependencies": {
80
- "drizzle-orm": "^0.41.0"
81
- },
82
73
  "peerDependencies": {
83
74
  "@forge/sql": "^2.4.1",
75
+ "drizzle-orm": "^0.41.0",
84
76
  "moment": "^2.30.1"
85
77
  }
86
78
  }