@sqlanvil/cli 1.32.7 → 1.32.9
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/._LICENSE +0 -0
- package/._NOTICE +0 -0
- package/._README.md +0 -0
- package/._bundle.js +0 -0
- package/._package.json +0 -0
- package/._worker_bundle.js +0 -0
- package/bundle.js +16 -8
- package/package.json +15 -6
package/._LICENSE
ADDED
|
Binary file
|
package/._NOTICE
ADDED
|
Binary file
|
package/._README.md
ADDED
|
Binary file
|
package/._bundle.js
ADDED
|
Binary file
|
package/._package.json
ADDED
|
Binary file
|
|
Binary file
|
package/bundle.js
CHANGED
|
@@ -50298,14 +50298,21 @@ CREATE OR REPLACE TABLE ${emptyTempTableName} AS (
|
|
|
50298
50298
|
SELECT * FROM (${query}) AS insertions LIMIT 0
|
|
50299
50299
|
);`;
|
|
50300
50300
|
}
|
|
50301
|
-
|
|
50302
|
-
|
|
50303
|
-
--
|
|
50301
|
+
declareSchemaChangeVariablesSql(onSchemaChange) {
|
|
50302
|
+
let sql = `
|
|
50303
|
+
-- Declare variables for schema comparison and strategy execution.
|
|
50304
50304
|
DECLARE sqlanvil_columns ARRAY<STRING>;
|
|
50305
50305
|
DECLARE temp_table_columns ARRAY<STRUCT<column_name STRING, data_type STRING>>;
|
|
50306
50306
|
DECLARE columns_added ARRAY<STRUCT<column_name STRING, data_type STRING>>;
|
|
50307
|
-
DECLARE columns_removed ARRAY<STRING
|
|
50308
|
-
|
|
50307
|
+
DECLARE columns_removed ARRAY<STRING>;`;
|
|
50308
|
+
if (onSchemaChange === sqlanvil.OnSchemaChange.SYNCHRONIZE) {
|
|
50309
|
+
sql += `\nDECLARE invalid_removed_columns ARRAY<STRING>;`;
|
|
50310
|
+
}
|
|
50311
|
+
return sql;
|
|
50312
|
+
}
|
|
50313
|
+
compareSchemasSql(target, emptyTempTableTarget) {
|
|
50314
|
+
return `
|
|
50315
|
+
-- Compare schemas
|
|
50309
50316
|
SET sqlanvil_columns = (
|
|
50310
50317
|
SELECT IFNULL(ARRAY_AGG(DISTINCT column_name), [])
|
|
50311
50318
|
FROM \`${target.database}.${target.schema}.INFORMATION_SCHEMA.COLUMNS\`
|
|
@@ -50360,7 +50367,6 @@ ${this.alterTableAddColumnsSql(qualifiedTargetTableName)}
|
|
|
50360
50367
|
case sqlanvil.OnSchemaChange.SYNCHRONIZE:
|
|
50361
50368
|
const uniqueKeys = table.uniqueKey || [];
|
|
50362
50369
|
sql += `
|
|
50363
|
-
DECLARE invalid_removed_columns ARRAY<STRING>;
|
|
50364
50370
|
SET invalid_removed_columns = (
|
|
50365
50371
|
SELECT IFNULL(ARRAY_AGG(col), []) FROM UNNEST(columns_removed) AS col WHERE col IN UNNEST(${JSON.stringify(uniqueKeys)})
|
|
50366
50372
|
);
|
|
@@ -50408,7 +50414,9 @@ DROP TABLE IF EXISTS ${emptyTempTableName};
|
|
|
50408
50414
|
incrementalSchemaChangeBody(table, qualifiedTargetTableName, emptyTempTableTarget) {
|
|
50409
50415
|
const emptyTempTableName = this.resolveTarget(emptyTempTableTarget);
|
|
50410
50416
|
const query = this.getIncrementalQuery(table);
|
|
50417
|
+
const onSchemaChange = table.onSchemaChange || sqlanvil.OnSchemaChange.IGNORE;
|
|
50411
50418
|
const statements = [
|
|
50419
|
+
this.declareSchemaChangeVariablesSql(onSchemaChange),
|
|
50412
50420
|
this.createEmptyTempTableSql(emptyTempTableName, query),
|
|
50413
50421
|
this.compareSchemasSql(table.target, emptyTempTableTarget),
|
|
50414
50422
|
this.applySchemaChangeStrategySql(table, qualifiedTargetTableName),
|
|
@@ -51151,8 +51159,8 @@ function collectEvaluationQueries(queryOrAction, concatenate, queryModifier = (q
|
|
|
51151
51159
|
.filter(validationQuery => !!validationQuery.query);
|
|
51152
51160
|
}
|
|
51153
51161
|
|
|
51154
|
-
const version = "1.32.
|
|
51155
|
-
const dataformVersion = "3.0.
|
|
51162
|
+
const version = "1.32.9";
|
|
51163
|
+
const dataformVersion = "3.0.71";
|
|
51156
51164
|
|
|
51157
51165
|
async function build(compiledGraph, runConfig, dbadapter) {
|
|
51158
51166
|
const prunedGraph = prune(compiledGraph, runConfig);
|
package/package.json
CHANGED
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
"glob": "13.0.6",
|
|
9
9
|
"google-auth-library": "^9.15.1",
|
|
10
10
|
"google-sql-syntax-ts": "^1.0.3",
|
|
11
|
-
"js-beautify": "
|
|
11
|
+
"js-beautify": "1.15.4",
|
|
12
12
|
"js-yaml": "^4.3.2",
|
|
13
13
|
"moo": "^0.5.0",
|
|
14
14
|
"mysql2": "^3.11.0",
|
|
15
15
|
"object-sizeof": "^1.6.1",
|
|
16
|
-
"parse-duration": "
|
|
16
|
+
"parse-duration": "2.1.6",
|
|
17
17
|
"pg": "^8.11.3",
|
|
18
18
|
"pg-query-stream": "^4.5.3",
|
|
19
19
|
"promise-pool-executor": "^1.1.1",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"resolutions": {
|
|
31
31
|
"**/object-path": "^0.11.5",
|
|
32
32
|
"**/http-proxy": "^1.18.1",
|
|
33
|
-
"**/serialize-javascript": "^
|
|
33
|
+
"**/serialize-javascript": "^7.1.1",
|
|
34
34
|
"**/ssri": "^7.1.1",
|
|
35
35
|
"**/glob-parent": "^5.1.2",
|
|
36
36
|
"**/node-forge": "^1.0.0",
|
|
@@ -42,11 +42,17 @@
|
|
|
42
42
|
"**/json-schema": "^0.4.0",
|
|
43
43
|
"**/nth-check": "^2.0.1",
|
|
44
44
|
"**/node-fetch": "^2.6.7",
|
|
45
|
-
"**/markdown-it": "
|
|
45
|
+
"**/markdown-it": "14.3.1",
|
|
46
|
+
"**/mdurl": "2.0.0",
|
|
46
47
|
"**/wrap-ansi": "7.0.0",
|
|
47
48
|
"**/string-width": "4.1.0",
|
|
48
49
|
"**/@eslint-community/eslint-utils": "4.9.1",
|
|
49
|
-
"**/@ungap/structured-clone": "1.3.1"
|
|
50
|
+
"**/@ungap/structured-clone": "1.3.1",
|
|
51
|
+
"**/brace-expansion": "5.0.9",
|
|
52
|
+
"**/linkify-it": "^5.0.2",
|
|
53
|
+
"**/braces": "^3.0.3",
|
|
54
|
+
"**/@eslint/plugin-kit": "0.7.2",
|
|
55
|
+
"@google-cloud/storage/**/uuid": "14.0.2"
|
|
50
56
|
},
|
|
51
57
|
"homepage": "https://sqlanvil.com",
|
|
52
58
|
"repository": {
|
|
@@ -73,7 +79,10 @@
|
|
|
73
79
|
"bin": {
|
|
74
80
|
"sqlanvil": "bundle.js"
|
|
75
81
|
},
|
|
76
|
-
"
|
|
82
|
+
"engines": {
|
|
83
|
+
"node": "^20.19.0 || >=22.12.0"
|
|
84
|
+
},
|
|
85
|
+
"version": "1.32.9",
|
|
77
86
|
"name": "@sqlanvil/cli",
|
|
78
87
|
"description": "sqlanvil command line interface.",
|
|
79
88
|
"main": "bundle.js"
|