@brandboostinggmbh/observable-workflows 0.7.1 → 0.7.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.
- package/dist/index.js +21 -40
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -150,14 +150,11 @@ function safeConsoleArgsToString(message, ...optionalParams) {
|
|
|
150
150
|
* This function is idempotent and ensures the schema matches the current requirements.
|
|
151
151
|
*/
|
|
152
152
|
async function ensureTables(db) {
|
|
153
|
-
console.log("Ensuring tables exist in D1 database...");
|
|
154
153
|
await db.prepare(`PRAGMA foreign_keys = ON`).run();
|
|
155
154
|
const workflowTableInfo = await db.prepare(`SELECT sql FROM sqlite_master WHERE type='table' AND name='WorkflowTable'`).first();
|
|
156
|
-
if (!workflowTableInfo)
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
/* sql */
|
|
160
|
-
`CREATE TABLE WorkflowTable (
|
|
155
|
+
if (!workflowTableInfo) await db.prepare(
|
|
156
|
+
/* sql */
|
|
157
|
+
`CREATE TABLE WorkflowTable (
|
|
161
158
|
instanceId TEXT NOT NULL,
|
|
162
159
|
workflowType TEXT NOT NULL,
|
|
163
160
|
workflowName TEXT NOT NULL,
|
|
@@ -172,20 +169,14 @@ async function ensureTables(db) {
|
|
|
172
169
|
PRIMARY KEY (instanceId)
|
|
173
170
|
)`
|
|
174
171
|
).run();
|
|
175
|
-
|
|
176
|
-
console.log("WorkflowTable exists, checking schema for migration...");
|
|
172
|
+
else {
|
|
177
173
|
const hasInputRef = workflowTableInfo.sql.includes("inputRef");
|
|
178
174
|
const inputHasNotNull = workflowTableInfo.sql.includes("input TEXT NOT NULL");
|
|
179
|
-
if (!hasInputRef)
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
console.log("Modifying WorkflowTable to remove NOT NULL constraint from input column...");
|
|
185
|
-
await db.batch([
|
|
186
|
-
db.prepare(
|
|
187
|
-
/* sql */
|
|
188
|
-
`CREATE TABLE WorkflowTable_new (
|
|
175
|
+
if (!hasInputRef) await db.prepare(`ALTER TABLE WorkflowTable ADD COLUMN inputRef TEXT`).run();
|
|
176
|
+
if (inputHasNotNull) await db.batch([
|
|
177
|
+
db.prepare(
|
|
178
|
+
/* sql */
|
|
179
|
+
`CREATE TABLE WorkflowTable_new (
|
|
189
180
|
instanceId TEXT NOT NULL,
|
|
190
181
|
workflowType TEXT NOT NULL,
|
|
191
182
|
workflowName TEXT NOT NULL,
|
|
@@ -200,25 +191,22 @@ async function ensureTables(db) {
|
|
|
200
191
|
PRIMARY KEY (instanceId)
|
|
201
192
|
)`
|
|
202
193
|
),
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
194
|
+
db.prepare(
|
|
195
|
+
/* sql */
|
|
196
|
+
`INSERT INTO WorkflowTable_new
|
|
206
197
|
SELECT instanceId, workflowType, workflowName, workflowMetadata,
|
|
207
198
|
CASE WHEN input = '' THEN NULL ELSE input END as input,
|
|
208
199
|
inputRef, tenantId, workflowStatus, startTime, endTime, parentInstanceId
|
|
209
200
|
FROM WorkflowTable`
|
|
210
201
|
),
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
}
|
|
202
|
+
db.prepare(`DROP TABLE WorkflowTable`),
|
|
203
|
+
db.prepare(`ALTER TABLE WorkflowTable_new RENAME TO WorkflowTable`)
|
|
204
|
+
]);
|
|
215
205
|
}
|
|
216
206
|
const stepTableInfo = await db.prepare(`SELECT sql FROM sqlite_master WHERE type='table' AND name='StepTable'`).first();
|
|
217
|
-
if (!stepTableInfo)
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
/* sql */
|
|
221
|
-
`CREATE TABLE StepTable (
|
|
207
|
+
if (!stepTableInfo) await db.prepare(
|
|
208
|
+
/* sql */
|
|
209
|
+
`CREATE TABLE StepTable (
|
|
222
210
|
instanceId TEXT NOT NULL,
|
|
223
211
|
stepName TEXT NOT NULL,
|
|
224
212
|
stepStatus TEXT NOT NULL,
|
|
@@ -233,18 +221,11 @@ async function ensureTables(db) {
|
|
|
233
221
|
PRIMARY KEY (instanceId, stepName)
|
|
234
222
|
)`
|
|
235
223
|
).run();
|
|
236
|
-
|
|
237
|
-
console.log("StepTable exists, checking schema for migration...");
|
|
224
|
+
else {
|
|
238
225
|
const hasResultRef = stepTableInfo.sql.includes("resultRef");
|
|
239
226
|
const hasErrorRef = stepTableInfo.sql.includes("errorRef");
|
|
240
|
-
if (!hasResultRef)
|
|
241
|
-
|
|
242
|
-
await db.prepare(`ALTER TABLE StepTable ADD COLUMN resultRef TEXT`).run();
|
|
243
|
-
}
|
|
244
|
-
if (!hasErrorRef) {
|
|
245
|
-
console.log("Adding errorRef column to StepTable...");
|
|
246
|
-
await db.prepare(`ALTER TABLE StepTable ADD COLUMN errorRef TEXT`).run();
|
|
247
|
-
}
|
|
227
|
+
if (!hasResultRef) await db.prepare(`ALTER TABLE StepTable ADD COLUMN resultRef TEXT`).run();
|
|
228
|
+
if (!hasErrorRef) await db.prepare(`ALTER TABLE StepTable ADD COLUMN errorRef TEXT`).run();
|
|
248
229
|
}
|
|
249
230
|
await db.prepare(
|
|
250
231
|
/* sql */
|