@dsqlbase/migration 0.1.0 → 0.1.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/CHANGELOG.md +15 -0
- package/dist/base.d.ts +87 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +53 -0
- package/dist/base.js.map +1 -0
- package/dist/ddl/ast.d.ts +267 -0
- package/dist/ddl/ast.d.ts.map +1 -0
- package/dist/ddl/ast.js +10 -0
- package/dist/ddl/ast.js.map +1 -0
- package/dist/ddl/factory.d.ts +88 -0
- package/dist/ddl/factory.d.ts.map +1 -0
- package/dist/ddl/factory.js +186 -0
- package/dist/ddl/factory.js.map +1 -0
- package/dist/ddl/index.d.ts +5 -0
- package/dist/ddl/index.d.ts.map +1 -0
- package/dist/ddl/index.js +4 -0
- package/dist/ddl/index.js.map +1 -0
- package/dist/ddl/printer.d.ts +21 -0
- package/dist/ddl/printer.d.ts.map +1 -0
- package/dist/ddl/printer.js +278 -0
- package/dist/ddl/printer.js.map +1 -0
- package/dist/ddl/schema.d.ts +33 -0
- package/dist/ddl/schema.d.ts.map +1 -0
- package/dist/ddl/schema.js +133 -0
- package/dist/ddl/schema.js.map +1 -0
- package/dist/executor.d.ts +29 -0
- package/dist/executor.d.ts.map +1 -0
- package/dist/executor.js +93 -0
- package/dist/executor.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/introspection/introspect.d.ts +8 -0
- package/dist/introspection/introspect.d.ts.map +1 -0
- package/dist/introspection/introspect.js +14 -0
- package/dist/introspection/introspect.js.map +1 -0
- package/dist/introspection/normalizer.d.ts +96 -0
- package/dist/introspection/normalizer.d.ts.map +1 -0
- package/dist/introspection/normalizer.js +187 -0
- package/dist/introspection/normalizer.js.map +1 -0
- package/dist/introspection/query.d.ts +3 -0
- package/dist/introspection/query.d.ts.map +1 -0
- package/dist/introspection/query.js +284 -0
- package/dist/introspection/query.js.map +1 -0
- package/dist/reconciliation/diffs/base.d.ts +19 -0
- package/dist/reconciliation/diffs/base.d.ts.map +1 -0
- package/dist/reconciliation/diffs/base.js +58 -0
- package/dist/reconciliation/diffs/base.js.map +1 -0
- package/dist/reconciliation/diffs/column.d.ts +42 -0
- package/dist/reconciliation/diffs/column.d.ts.map +1 -0
- package/dist/reconciliation/diffs/column.js +48 -0
- package/dist/reconciliation/diffs/column.js.map +1 -0
- package/dist/reconciliation/diffs/constraint.d.ts +9 -0
- package/dist/reconciliation/diffs/constraint.d.ts.map +1 -0
- package/dist/reconciliation/diffs/constraint.js +122 -0
- package/dist/reconciliation/diffs/constraint.js.map +1 -0
- package/dist/reconciliation/diffs/domain.d.ts +17 -0
- package/dist/reconciliation/diffs/domain.d.ts.map +1 -0
- package/dist/reconciliation/diffs/domain.js +30 -0
- package/dist/reconciliation/diffs/domain.js.map +1 -0
- package/dist/reconciliation/diffs/indexes.d.ts +18 -0
- package/dist/reconciliation/diffs/indexes.d.ts.map +1 -0
- package/dist/reconciliation/diffs/indexes.js +59 -0
- package/dist/reconciliation/diffs/indexes.js.map +1 -0
- package/dist/reconciliation/diffs/sequence.d.ts +19 -0
- package/dist/reconciliation/diffs/sequence.d.ts.map +1 -0
- package/dist/reconciliation/diffs/sequence.js +17 -0
- package/dist/reconciliation/diffs/sequence.js.map +1 -0
- package/dist/reconciliation/diffs/table.d.ts +6 -0
- package/dist/reconciliation/diffs/table.d.ts.map +1 -0
- package/dist/reconciliation/diffs/table.js +52 -0
- package/dist/reconciliation/diffs/table.js.map +1 -0
- package/dist/reconciliation/operations/base.d.ts +54 -0
- package/dist/reconciliation/operations/base.d.ts.map +1 -0
- package/dist/reconciliation/operations/base.js +27 -0
- package/dist/reconciliation/operations/base.js.map +1 -0
- package/dist/reconciliation/operations/domain.d.ts +7 -0
- package/dist/reconciliation/operations/domain.d.ts.map +1 -0
- package/dist/reconciliation/operations/domain.js +88 -0
- package/dist/reconciliation/operations/domain.js.map +1 -0
- package/dist/reconciliation/operations/index.d.ts +6 -0
- package/dist/reconciliation/operations/index.d.ts.map +1 -0
- package/dist/reconciliation/operations/index.js +35 -0
- package/dist/reconciliation/operations/index.js.map +1 -0
- package/dist/reconciliation/operations/schema.d.ts +7 -0
- package/dist/reconciliation/operations/schema.d.ts.map +1 -0
- package/dist/reconciliation/operations/schema.js +41 -0
- package/dist/reconciliation/operations/schema.js.map +1 -0
- package/dist/reconciliation/operations/sequence.d.ts +7 -0
- package/dist/reconciliation/operations/sequence.d.ts.map +1 -0
- package/dist/reconciliation/operations/sequence.js +75 -0
- package/dist/reconciliation/operations/sequence.js.map +1 -0
- package/dist/reconciliation/operations/table.d.ts +9 -0
- package/dist/reconciliation/operations/table.d.ts.map +1 -0
- package/dist/reconciliation/operations/table.js +513 -0
- package/dist/reconciliation/operations/table.js.map +1 -0
- package/dist/reconciliation/planner.d.ts +3 -0
- package/dist/reconciliation/planner.d.ts.map +1 -0
- package/dist/reconciliation/planner.js +125 -0
- package/dist/reconciliation/planner.js.map +1 -0
- package/dist/reconciliation/reconcile.d.ts +22 -0
- package/dist/reconciliation/reconcile.d.ts.map +1 -0
- package/dist/reconciliation/reconcile.js +48 -0
- package/dist/reconciliation/reconcile.js.map +1 -0
- package/dist/runner.d.ts +41 -0
- package/dist/runner.d.ts.map +1 -0
- package/dist/runner.js +69 -0
- package/dist/runner.js.map +1 -0
- package/dist/validation/context.d.ts +32 -0
- package/dist/validation/context.d.ts.map +1 -0
- package/dist/validation/context.js +25 -0
- package/dist/validation/context.js.map +1 -0
- package/dist/validation/index.d.ts +3 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +2 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/rules/global.d.ts +5 -0
- package/dist/validation/rules/global.d.ts.map +1 -0
- package/dist/validation/rules/global.js +35 -0
- package/dist/validation/rules/global.js.map +1 -0
- package/dist/validation/rules/schema.d.ts +4 -0
- package/dist/validation/rules/schema.d.ts.map +1 -0
- package/dist/validation/rules/schema.js +12 -0
- package/dist/validation/rules/schema.js.map +1 -0
- package/dist/validation/rules/sequence.d.ts +4 -0
- package/dist/validation/rules/sequence.d.ts.map +1 -0
- package/dist/validation/rules/sequence.js +13 -0
- package/dist/validation/rules/sequence.js.map +1 -0
- package/dist/validation/rules/table.d.ts +12 -0
- package/dist/validation/rules/table.d.ts.map +1 -0
- package/dist/validation/rules/table.js +164 -0
- package/dist/validation/rules/table.js.map +1 -0
- package/dist/validation/validate.d.ts +13 -0
- package/dist/validation/validate.d.ts.map +1 -0
- package/dist/validation/validate.js +42 -0
- package/dist/validation/validate.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { diffType, hasDiff } from "./base.js";
|
|
2
|
+
export function diffDomain(local, remote) {
|
|
3
|
+
const diffs = [];
|
|
4
|
+
for (const key of ["dataType", "notNull", "defaultValue"]) {
|
|
5
|
+
if (hasDiff(local, remote, key)) {
|
|
6
|
+
diffs.push({
|
|
7
|
+
type: diffType(local, remote, key),
|
|
8
|
+
kind: local.kind,
|
|
9
|
+
name: local.name,
|
|
10
|
+
object: local,
|
|
11
|
+
key,
|
|
12
|
+
value: local[key],
|
|
13
|
+
prevValue: remote[key],
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
if (hasDiff(local.check, remote.check, "name")) {
|
|
18
|
+
diffs.push({
|
|
19
|
+
type: diffType(local, remote, "check"),
|
|
20
|
+
kind: local.kind,
|
|
21
|
+
name: local.name,
|
|
22
|
+
object: local,
|
|
23
|
+
key: "check",
|
|
24
|
+
value: local.check,
|
|
25
|
+
prevValue: remote.check,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return diffs;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=domain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../src/reconciliation/diffs/domain.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,QAAQ,EAAY,OAAO,EAAE,MAAM,WAAW,CAAC;AAE9D,MAAM,UAAU,UAAU,CACxB,KAA4C,EAC5C,MAA6C;IAE7C,MAAM,KAAK,GAA4D,EAAE,CAAC;IAE1E,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAU,EAAE,CAAC;QACnE,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC;gBAClC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,KAAK;gBACb,GAAG;gBACH,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;gBACjB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;YACtC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,MAAM,CAAC,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AnyIndexDefinition } from "@dsqlbase/core/definition";
|
|
2
|
+
import { SerializedObject } from "../../base.js";
|
|
3
|
+
import { Diff, DiffType } from "./base.js";
|
|
4
|
+
export declare function diffIndex(local: SerializedObject<AnyIndexDefinition>, remote?: SerializedObject<AnyIndexDefinition>): Diff<DiffType, {
|
|
5
|
+
readonly kind: "INDEX";
|
|
6
|
+
readonly name: any;
|
|
7
|
+
readonly unique: boolean;
|
|
8
|
+
readonly distinctNulls: boolean | undefined;
|
|
9
|
+
readonly columns: {
|
|
10
|
+
readonly kind: "INDEX_COLUMN";
|
|
11
|
+
readonly name: `${any}_column_${any}`;
|
|
12
|
+
readonly sortDirection: "ASC" | "DESC";
|
|
13
|
+
readonly nulls: "FIRST" | "LAST";
|
|
14
|
+
readonly column: any;
|
|
15
|
+
}[];
|
|
16
|
+
readonly include: any[] | null;
|
|
17
|
+
}>[];
|
|
18
|
+
//# sourceMappingURL=indexes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../../src/reconciliation/diffs/indexes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAW,MAAM,WAAW,CAAC;AAEpD,wBAAgB,SAAS,CACvB,KAAK,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAC3C,MAAM,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC;;;;;;;;;;;;;KAgE9C"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { hasDiff } from "./base.js";
|
|
2
|
+
export function diffIndex(local, remote) {
|
|
3
|
+
const diffs = [];
|
|
4
|
+
if (!remote) {
|
|
5
|
+
diffs.push({
|
|
6
|
+
type: "add",
|
|
7
|
+
kind: local.kind,
|
|
8
|
+
name: local.name,
|
|
9
|
+
object: local,
|
|
10
|
+
});
|
|
11
|
+
return diffs;
|
|
12
|
+
}
|
|
13
|
+
if (hasDiff(local, remote, "unique")) {
|
|
14
|
+
diffs.push({
|
|
15
|
+
type: "modify",
|
|
16
|
+
kind: local.kind,
|
|
17
|
+
name: local.name,
|
|
18
|
+
object: local,
|
|
19
|
+
key: "unique",
|
|
20
|
+
value: local.unique,
|
|
21
|
+
prevValue: remote.unique,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
if (hasDiff(local, remote, "distinctNulls")) {
|
|
25
|
+
diffs.push({
|
|
26
|
+
type: "modify",
|
|
27
|
+
kind: local.kind,
|
|
28
|
+
name: local.name,
|
|
29
|
+
object: local,
|
|
30
|
+
key: "distinctNulls",
|
|
31
|
+
value: local.distinctNulls,
|
|
32
|
+
prevValue: remote.distinctNulls,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
if (hasDiff(local, remote, "columns")) {
|
|
36
|
+
diffs.push({
|
|
37
|
+
type: "modify",
|
|
38
|
+
kind: local.kind,
|
|
39
|
+
name: local.name,
|
|
40
|
+
object: local,
|
|
41
|
+
key: "columns",
|
|
42
|
+
value: local.columns,
|
|
43
|
+
prevValue: remote.columns,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
if (hasDiff(local, remote, "include")) {
|
|
47
|
+
diffs.push({
|
|
48
|
+
type: "modify",
|
|
49
|
+
kind: local.kind,
|
|
50
|
+
name: local.name,
|
|
51
|
+
object: local,
|
|
52
|
+
key: "include",
|
|
53
|
+
value: local.include,
|
|
54
|
+
prevValue: remote.include,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
return diffs;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=indexes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../../src/reconciliation/diffs/indexes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpD,MAAM,UAAU,SAAS,CACvB,KAA2C,EAC3C,MAA6C;IAE7C,MAAM,KAAK,GAA2D,EAAE,CAAC;IAEzE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,SAAS,EAAE,MAAM,CAAC,MAAM;SACzB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,KAAK,CAAC,aAAa;YAC1B,SAAS,EAAE,MAAM,CAAC,aAAa;SAChC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,SAAS,EAAE,MAAM,CAAC,OAAO;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,SAAS,EAAE,MAAM,CAAC,OAAO;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AnySequenceDefinition } from "@dsqlbase/core/definition";
|
|
2
|
+
import { SerializedObject } from "../../base.js";
|
|
3
|
+
import { Diff, DiffType } from "./base.js";
|
|
4
|
+
export declare function diffSequence(local: SerializedObject<AnySequenceDefinition>, remote: SerializedObject<AnySequenceDefinition>): Diff<DiffType, {
|
|
5
|
+
readonly kind: "SEQUENCE";
|
|
6
|
+
readonly name: any;
|
|
7
|
+
readonly namespace: any;
|
|
8
|
+
readonly options: {
|
|
9
|
+
readonly dataType: string | undefined;
|
|
10
|
+
readonly cache: number | undefined;
|
|
11
|
+
readonly cycle: boolean | undefined;
|
|
12
|
+
readonly increment: number | undefined;
|
|
13
|
+
readonly minValue: number | undefined;
|
|
14
|
+
readonly maxValue: number | undefined;
|
|
15
|
+
readonly startValue: number | undefined;
|
|
16
|
+
readonly ownedBy: string | undefined;
|
|
17
|
+
};
|
|
18
|
+
}>[];
|
|
19
|
+
//# sourceMappingURL=sequence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../../../src/reconciliation/diffs/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAW,MAAM,WAAW,CAAC;AAEpD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,EAC9C,MAAM,EAAE,gBAAgB,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;KAiBhD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { hasDiff } from "./base.js";
|
|
2
|
+
export function diffSequence(local, remote) {
|
|
3
|
+
const diffs = [];
|
|
4
|
+
if (hasDiff(local, remote, "options")) {
|
|
5
|
+
diffs.push({
|
|
6
|
+
type: "modify",
|
|
7
|
+
kind: local.kind,
|
|
8
|
+
name: local.name,
|
|
9
|
+
object: local,
|
|
10
|
+
key: "options",
|
|
11
|
+
value: local.options,
|
|
12
|
+
prevValue: remote.options,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
return diffs;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=sequence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../../src/reconciliation/diffs/sequence.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpD,MAAM,UAAU,YAAY,CAC1B,KAA8C,EAC9C,MAA+C;IAE/C,MAAM,KAAK,GAA8D,EAAE,CAAC;IAE5E,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,SAAS,EAAE,MAAM,CAAC,OAAO;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AnyCheckConstraintDefinition, AnyColumnDefinition, AnyConstraintDefinition, AnyIndexDefinition, AnyPrimaryKeyConstraintDefinition, AnyTableDefinition, AnyUniqueConstraintDefinition } from "@dsqlbase/core/definition";
|
|
2
|
+
import { SerializedObject } from "../../base.js";
|
|
3
|
+
import { Diff, DiffType } from "./base.js";
|
|
4
|
+
export type TableDiffType = Diff<DiffType, SerializedObject<AnyColumnDefinition>> | Diff<DiffType, SerializedObject<AnyIndexDefinition>> | Diff<DiffType, SerializedObject<AnyConstraintDefinition>> | Diff<DiffType, SerializedObject<AnyPrimaryKeyConstraintDefinition>> | Diff<DiffType, SerializedObject<AnyUniqueConstraintDefinition>> | Diff<DiffType, SerializedObject<AnyCheckConstraintDefinition>>;
|
|
5
|
+
export declare function diffTable(local: SerializedObject<AnyTableDefinition>, remote: SerializedObject<AnyTableDefinition>): TableDiffType[];
|
|
6
|
+
//# sourceMappingURL=table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/reconciliation/diffs/table.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,iCAAiC,EACjC,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAK3C,MAAM,MAAM,aAAa,GACrB,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,GACrD,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,GACpD,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC,GACzD,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,iCAAiC,CAAC,CAAC,GACnE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,6BAA6B,CAAC,CAAC,GAC/D,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,4BAA4B,CAAC,CAAC,CAAC;AAEnE,wBAAgB,SAAS,CACvB,KAAK,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAC3C,MAAM,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,mBAiE7C"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { diffColumn } from "./column.js";
|
|
2
|
+
import { diffConstraint } from "./constraint.js";
|
|
3
|
+
import { diffIndex } from "./indexes.js";
|
|
4
|
+
export function diffTable(local, remote) {
|
|
5
|
+
const diffs = [];
|
|
6
|
+
const remoteColumns = new Map(remote.columns.map((col) => [col.name, col]));
|
|
7
|
+
const remoteIndexes = new Map(remote.indexes.map((idx) => [idx.name, idx]));
|
|
8
|
+
const remoteConstraints = new Map(remote.constraints.map((c) => [c.name, c]));
|
|
9
|
+
for (const localColumn of local.columns) {
|
|
10
|
+
const remoteColumn = remoteColumns.get(localColumn.name);
|
|
11
|
+
diffs.push(...diffColumn(localColumn, remoteColumn));
|
|
12
|
+
remoteColumns.delete(localColumn.name);
|
|
13
|
+
}
|
|
14
|
+
for (const remoteColumn of remoteColumns.values()) {
|
|
15
|
+
diffs.push({
|
|
16
|
+
type: "remove",
|
|
17
|
+
kind: "COLUMN",
|
|
18
|
+
name: remoteColumn.name,
|
|
19
|
+
object: remoteColumn,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
for (const localIndex of local.indexes) {
|
|
23
|
+
const remoteIndex = remoteIndexes.get(localIndex.name);
|
|
24
|
+
diffs.push(...diffIndex(localIndex, remoteIndex));
|
|
25
|
+
remoteIndexes.delete(localIndex.name);
|
|
26
|
+
}
|
|
27
|
+
for (const remoteIndex of remoteIndexes.values()) {
|
|
28
|
+
diffs.push({
|
|
29
|
+
type: "remove",
|
|
30
|
+
kind: "INDEX",
|
|
31
|
+
name: remoteIndex.name,
|
|
32
|
+
object: remoteIndex,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
for (const localConstraint of local.constraints) {
|
|
36
|
+
const remoteConstraint = remoteConstraints.get(localConstraint.name);
|
|
37
|
+
if (!remoteConstraint || localConstraint.kind === remoteConstraint.kind) {
|
|
38
|
+
diffs.push(...diffConstraint(localConstraint, remoteConstraint));
|
|
39
|
+
remoteConstraints.delete(localConstraint.name);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
for (const remoteConstraint of remoteConstraints.values()) {
|
|
43
|
+
diffs.push({
|
|
44
|
+
type: "remove",
|
|
45
|
+
kind: remoteConstraint.kind,
|
|
46
|
+
name: remoteConstraint.name,
|
|
47
|
+
object: remoteConstraint,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return diffs;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/reconciliation/diffs/table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { DefinitionNode } from "@dsqlbase/core/definition";
|
|
2
|
+
import { SerializedObject } from "../../base.js";
|
|
3
|
+
import { DDLStatement } from "../../ddl/index.js";
|
|
4
|
+
import { AnyDiff } from "../diffs/base.js";
|
|
5
|
+
export interface DDLOperationOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Adds ASYNC modifier to CREATE INDEX operations.
|
|
8
|
+
* @default true
|
|
9
|
+
*/
|
|
10
|
+
asyncIndexes: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Adds IF NOT EXISTS / IF EXISTS modifiers to operations where applicable.
|
|
13
|
+
* @default false
|
|
14
|
+
*/
|
|
15
|
+
safeOperations: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare const DEFAULT_DDL_OPERATION_OPTIONS: DDLOperationOptions;
|
|
18
|
+
export type DDLOperationType = "CREATE" | "DROP" | "ALTER";
|
|
19
|
+
export interface DDLOperation {
|
|
20
|
+
type: DDLOperationType;
|
|
21
|
+
object: SerializedObject<DefinitionNode>;
|
|
22
|
+
statement: DDLStatement;
|
|
23
|
+
references?: string[];
|
|
24
|
+
}
|
|
25
|
+
export interface IndexedDDLOperation extends DDLOperation {
|
|
26
|
+
id: number;
|
|
27
|
+
}
|
|
28
|
+
export type RefusalCode = "IMMUTABLE_COLUMN" | "NO_DROP_COLUMN" | "IMMUTABLE_CONSTRAINT" | "IMMUTABLE_DOMAIN" | "IMMUTABLE_INDEX" | "NO_FOREIGN_KEY" | "KIND_MISMATCH";
|
|
29
|
+
export interface DDLOperationError<T extends DefinitionNode = DefinitionNode> {
|
|
30
|
+
code: RefusalCode | string;
|
|
31
|
+
message: string;
|
|
32
|
+
object: SerializedObject<T>;
|
|
33
|
+
subject?: string;
|
|
34
|
+
diffs?: AnyDiff<T>[];
|
|
35
|
+
}
|
|
36
|
+
export declare function refusal<T extends DefinitionNode>(args: {
|
|
37
|
+
code: RefusalCode;
|
|
38
|
+
message: string;
|
|
39
|
+
object: SerializedObject<T>;
|
|
40
|
+
subject?: string;
|
|
41
|
+
diffs?: AnyDiff<T>[];
|
|
42
|
+
}): DDLOperationError<T>;
|
|
43
|
+
export interface OperationResult {
|
|
44
|
+
operations: DDLOperation[];
|
|
45
|
+
errors: DDLOperationError[];
|
|
46
|
+
}
|
|
47
|
+
export declare function hasCustomNamespace(obj: SerializedObject<DefinitionNode>): obj is SerializedObject<DefinitionNode> & {
|
|
48
|
+
namespace: string;
|
|
49
|
+
};
|
|
50
|
+
export declare function qualifiedName(obj: SerializedObject<DefinitionNode>): string;
|
|
51
|
+
export declare function qualifiedConstraintName(parentTableQualifiedName: string, constraint: SerializedObject<DefinitionNode>): string;
|
|
52
|
+
export declare function maybeNamespaceReference(obj: SerializedObject<DefinitionNode>): [string] | undefined;
|
|
53
|
+
export declare function kindMismatchError(expectedKind: string, foundObject: SerializedObject<DefinitionNode>): DDLOperationError;
|
|
54
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/reconciliation/operations/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,6BAA6B,EAAE,mBAG3C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACzC,SAAS,EAAE,YAAY,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,WAAW,GACnB,kBAAkB,GAClB,gBAAgB,GAChB,sBAAsB,GACtB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,CAAC;AAEpB,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc;IAC1E,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACtB;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE;IACtD,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CACtB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAEvB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,gBAAgB,CAAC,cAAc,CAAC,GACpC,GAAG,IAAI,gBAAgB,CAAC,cAAc,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAEjE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,cAAc,CAAC,GAAG,MAAM,CAE3E;AAED,wBAAgB,uBAAuB,CACrC,wBAAwB,EAAE,MAAM,EAChC,UAAU,EAAE,gBAAgB,CAAC,cAAc,CAAC,GAC3C,MAAM,CAER;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,gBAAgB,CAAC,cAAc,CAAC,GACpC,CAAC,MAAM,CAAC,GAAG,SAAS,CAEtB;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,gBAAgB,CAAC,cAAc,CAAC,GAC5C,iBAAiB,CAMnB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export const DEFAULT_DDL_OPERATION_OPTIONS = {
|
|
2
|
+
asyncIndexes: true,
|
|
3
|
+
safeOperations: false,
|
|
4
|
+
};
|
|
5
|
+
export function refusal(args) {
|
|
6
|
+
return args;
|
|
7
|
+
}
|
|
8
|
+
export function hasCustomNamespace(obj) {
|
|
9
|
+
return "namespace" in obj && !!obj.namespace && obj.namespace !== "public";
|
|
10
|
+
}
|
|
11
|
+
export function qualifiedName(obj) {
|
|
12
|
+
return hasCustomNamespace(obj) ? `${obj.namespace}.${obj.name}` : obj.name;
|
|
13
|
+
}
|
|
14
|
+
export function qualifiedConstraintName(parentTableQualifiedName, constraint) {
|
|
15
|
+
return `${parentTableQualifiedName}.${constraint.name}`;
|
|
16
|
+
}
|
|
17
|
+
export function maybeNamespaceReference(obj) {
|
|
18
|
+
return hasCustomNamespace(obj) ? [obj.namespace] : undefined;
|
|
19
|
+
}
|
|
20
|
+
export function kindMismatchError(expectedKind, foundObject) {
|
|
21
|
+
return {
|
|
22
|
+
code: "KIND_MISMATCH",
|
|
23
|
+
message: `Expected object of kind ${expectedKind}, but found ${foundObject.kind}`,
|
|
24
|
+
object: foundObject,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/reconciliation/operations/base.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,KAAK;CACtB,CAAC;AAgCF,MAAM,UAAU,OAAO,CAA2B,IAMjD;IACC,OAAO,IAAI,CAAC;AACd,CAAC;AAOD,MAAM,UAAU,kBAAkB,CAChC,GAAqC;IAErC,OAAO,WAAW,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAqC;IACjE,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,wBAAgC,EAChC,UAA4C;IAE5C,OAAO,GAAG,wBAAwB,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,GAAqC;IAErC,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,YAAoB,EACpB,WAA6C;IAE7C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,2BAA2B,YAAY,eAAe,WAAW,CAAC,IAAI,EAAE;QACjF,MAAM,EAAE,WAAW;KACpB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AnyDomainDefinition } from "@dsqlbase/core/definition";
|
|
2
|
+
import { SchemaObjectType, SerializedObject } from "../../base.js";
|
|
3
|
+
import { DDLOperation, DDLOperationOptions, OperationResult } from "./base.js";
|
|
4
|
+
export declare function createDomainOperation(object: SerializedObject<AnyDomainDefinition>, ifNotExists?: boolean): DDLOperation;
|
|
5
|
+
export declare function dropDomainOperation(object: SerializedObject<AnyDomainDefinition>, options: DDLOperationOptions): DDLOperation;
|
|
6
|
+
export declare function diffDomainOperations(local: SerializedObject<AnyDomainDefinition>, remote?: SerializedObject<SchemaObjectType>, options?: DDLOperationOptions): OperationResult;
|
|
7
|
+
//# sourceMappingURL=domain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../src/reconciliation/operations/domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,YAAY,EAEZ,mBAAmB,EAInB,eAAe,EAEhB,MAAM,WAAW,CAAC;AAKnB,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,EAC7C,WAAW,UAAO,GACjB,YAAY,CAmBd;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,EAC7C,OAAO,EAAE,mBAAmB,GAC3B,YAAY,CAad;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,EAC5C,MAAM,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,EAC3C,OAAO,GAAE,mBAAmD,GAC3D,eAAe,CA+DjB"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { DEFAULT_DDL_OPERATION_OPTIONS, kindMismatchError, maybeNamespaceReference, refusal, } from "./base.js";
|
|
2
|
+
import { ddl } from "../../ddl/index.js";
|
|
3
|
+
import { diffDomain } from "../diffs/domain.js";
|
|
4
|
+
export function createDomainOperation(object, ifNotExists = true) {
|
|
5
|
+
const statement = ddl.createDomain({
|
|
6
|
+
name: object.name,
|
|
7
|
+
schema: object.namespace,
|
|
8
|
+
dataType: object.dataType,
|
|
9
|
+
notNull: object.notNull,
|
|
10
|
+
defaultValue: object.defaultValue,
|
|
11
|
+
check: object.check
|
|
12
|
+
? ddl.check({ name: object.check.name, expression: object.check.expression })
|
|
13
|
+
: undefined,
|
|
14
|
+
ifNotExists,
|
|
15
|
+
});
|
|
16
|
+
return {
|
|
17
|
+
type: "CREATE",
|
|
18
|
+
object,
|
|
19
|
+
statement,
|
|
20
|
+
references: maybeNamespaceReference(object),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function dropDomainOperation(object, options) {
|
|
24
|
+
const statement = ddl.dropDomain({
|
|
25
|
+
name: object.name,
|
|
26
|
+
ifExists: options.safeOperations,
|
|
27
|
+
cascade: options.safeOperations ? "CASCADE" : "RESTRICT",
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
type: "DROP",
|
|
31
|
+
object,
|
|
32
|
+
statement,
|
|
33
|
+
references: maybeNamespaceReference(object),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export function diffDomainOperations(local, remote, options = DEFAULT_DDL_OPERATION_OPTIONS) {
|
|
37
|
+
if (!remote) {
|
|
38
|
+
return {
|
|
39
|
+
operations: [createDomainOperation(local, options.safeOperations)],
|
|
40
|
+
errors: [],
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
if (remote.kind !== "DOMAIN") {
|
|
44
|
+
return {
|
|
45
|
+
operations: [],
|
|
46
|
+
errors: [kindMismatchError("DOMAIN", remote)],
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
const operations = [];
|
|
50
|
+
const errors = [];
|
|
51
|
+
const namespaceRef = maybeNamespaceReference(local);
|
|
52
|
+
const diffs = diffDomain(local, remote);
|
|
53
|
+
const blocked = [];
|
|
54
|
+
const blockedAttrs = [];
|
|
55
|
+
for (const diff of diffs) {
|
|
56
|
+
const key = diff.key;
|
|
57
|
+
if (key === "defaultValue") {
|
|
58
|
+
const action = diff.type === "remove"
|
|
59
|
+
? ddl.dropDefault()
|
|
60
|
+
: ddl.setDefault({ expression: String(diff.value) });
|
|
61
|
+
operations.push({
|
|
62
|
+
type: "ALTER",
|
|
63
|
+
object: local,
|
|
64
|
+
statement: ddl.alterDomain({
|
|
65
|
+
name: local.name,
|
|
66
|
+
schema: local.namespace,
|
|
67
|
+
action,
|
|
68
|
+
}),
|
|
69
|
+
references: namespaceRef,
|
|
70
|
+
});
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
blocked.push(diff);
|
|
74
|
+
blockedAttrs.push(key);
|
|
75
|
+
}
|
|
76
|
+
if (blocked.length > 0) {
|
|
77
|
+
errors.push(refusal({
|
|
78
|
+
code: "IMMUTABLE_DOMAIN",
|
|
79
|
+
message: `Domain "${local.name}" is immutable except for defaultValue — ` +
|
|
80
|
+
`cannot change ${blockedAttrs.join(", ")}.`,
|
|
81
|
+
object: local,
|
|
82
|
+
subject: local.name,
|
|
83
|
+
diffs: blocked,
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
return { operations, errors };
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=domain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../src/reconciliation/operations/domain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SchemaObjectType, SerializedObject } from "../../base.js";
|
|
2
|
+
import { DDLOperation, DDLOperationOptions, OperationResult } from "./base.js";
|
|
3
|
+
export declare function diffObjectOperations(local: SerializedObject<SchemaObjectType>, remote?: SerializedObject<SchemaObjectType>, options?: DDLOperationOptions): OperationResult;
|
|
4
|
+
export declare function dropObjectOperations(object: SerializedObject<SchemaObjectType>, options?: DDLOperationOptions): DDLOperation;
|
|
5
|
+
export { kindMismatchError, maybeNamespaceReference, qualifiedName, qualifiedConstraintName, hasCustomNamespace, refusal, type DDLOperation, type IndexedDDLOperation, type DDLOperationError, type OperationResult, type DDLOperationType, type RefusalCode, } from "./base.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reconciliation/operations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,YAAY,EACZ,mBAAmB,EAEnB,eAAe,EAChB,MAAM,WAAW,CAAC;AAMnB,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,EACzC,MAAM,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,EAC3C,OAAO,GAAE,mBAAmD,GAC3D,eAAe,CAajB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,EAC1C,OAAO,GAAE,mBAAmD,GAC3D,YAAY,CAed;AAED,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAClB,OAAO,EACP,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,WAAW,GACjB,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { DEFAULT_DDL_OPERATION_OPTIONS, } from "./base.js";
|
|
2
|
+
import { diffDomainOperations, dropDomainOperation } from "./domain.js";
|
|
3
|
+
import { diffSchemaOperations, dropSchemaOperation } from "./schema.js";
|
|
4
|
+
import { diffSequenceOperations, dropSequenceOperation } from "./sequence.js";
|
|
5
|
+
import { diffTableOperations, dropTableOperation } from "./table.js";
|
|
6
|
+
export function diffObjectOperations(local, remote, options = DEFAULT_DDL_OPERATION_OPTIONS) {
|
|
7
|
+
switch (local.kind) {
|
|
8
|
+
case "SCHEMA":
|
|
9
|
+
return diffSchemaOperations(local, remote, options);
|
|
10
|
+
case "TABLE":
|
|
11
|
+
return diffTableOperations(local, remote, options);
|
|
12
|
+
case "DOMAIN":
|
|
13
|
+
return diffDomainOperations(local, remote, options);
|
|
14
|
+
case "SEQUENCE":
|
|
15
|
+
return diffSequenceOperations(local, remote, options);
|
|
16
|
+
default:
|
|
17
|
+
throw new Error(`Diff operation not implemented for object kind ${local["kind"]}`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export function dropObjectOperations(object, options = DEFAULT_DDL_OPERATION_OPTIONS) {
|
|
21
|
+
switch (object.kind) {
|
|
22
|
+
case "SCHEMA":
|
|
23
|
+
return dropSchemaOperation(object, options);
|
|
24
|
+
case "TABLE":
|
|
25
|
+
return dropTableOperation(object, options);
|
|
26
|
+
case "DOMAIN":
|
|
27
|
+
return dropDomainOperation(object, options);
|
|
28
|
+
case "SEQUENCE":
|
|
29
|
+
return dropSequenceOperation(object, options);
|
|
30
|
+
default:
|
|
31
|
+
throw new Error(`Unreachable. Diff operation not implemented for object kind ${object["kind"]}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export { kindMismatchError, maybeNamespaceReference, qualifiedName, qualifiedConstraintName, hasCustomNamespace, refusal, } from "./base.js";
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reconciliation/operations/index.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,6BAA6B,GAE9B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,UAAU,oBAAoB,CAClC,KAAyC,EACzC,MAA2C,EAC3C,UAA+B,6BAA6B;IAE5D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACtD,KAAK,OAAO;YACV,OAAO,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACrD,KAAK,QAAQ;YACX,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACtD,KAAK,UAAU;YACb,OAAO,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACxD;YACE,MAAM,IAAI,KAAK,CAAC,kDAAkD,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAA0C,EAC1C,UAA+B,6BAA6B;IAE5D,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9C,KAAK,OAAO;YACV,OAAO,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7C,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9C,KAAK,UAAU;YACb,OAAO,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChD;YACE,MAAM,IAAI,KAAK,CACb,+DAA+D,MAAM,CAAC,MAAM,CAAC,EAAE,CAChF,CAAC;IACN,CAAC;AACH,CAAC;AAED,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAClB,OAAO,GAOR,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AnyNamespaceDefinition } from "@dsqlbase/core/definition";
|
|
2
|
+
import { SchemaObjectType, SerializedObject } from "../../base.js";
|
|
3
|
+
import { DDLOperation, DDLOperationOptions, OperationResult } from "./base.js";
|
|
4
|
+
export declare function createSchemaOperation(object: SerializedObject<AnyNamespaceDefinition>, ifNotExists?: boolean): DDLOperation;
|
|
5
|
+
export declare function dropSchemaOperation(object: SerializedObject<AnyNamespaceDefinition>, options: DDLOperationOptions): DDLOperation;
|
|
6
|
+
export declare function diffSchemaOperations(local: SerializedObject<AnyNamespaceDefinition>, remote?: SerializedObject<SchemaObjectType>, options?: DDLOperationOptions): OperationResult;
|
|
7
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/reconciliation/operations/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,YAAY,EACZ,mBAAmB,EAGnB,eAAe,EAChB,MAAM,WAAW,CAAC;AAGnB,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,EAChD,WAAW,UAAO,GACjB,YAAY,CAWd;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,EAChD,OAAO,EAAE,mBAAmB,GAC3B,YAAY,CAYd;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,EAC/C,MAAM,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,EAC3C,OAAO,GAAE,mBAAmD,GAC3D,eAAe,CAgBjB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { DEFAULT_DDL_OPERATION_OPTIONS, kindMismatchError, } from "./base.js";
|
|
2
|
+
import { ddl } from "../../ddl/index.js";
|
|
3
|
+
export function createSchemaOperation(object, ifNotExists = true) {
|
|
4
|
+
const statement = ddl.createSchema({
|
|
5
|
+
name: object.name,
|
|
6
|
+
ifNotExists,
|
|
7
|
+
});
|
|
8
|
+
return {
|
|
9
|
+
type: "CREATE",
|
|
10
|
+
object,
|
|
11
|
+
statement,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export function dropSchemaOperation(object, options) {
|
|
15
|
+
const statement = ddl.dropSchema({
|
|
16
|
+
name: object.name,
|
|
17
|
+
ifExists: options.safeOperations,
|
|
18
|
+
cascade: options.safeOperations ? "CASCADE" : "RESTRICT",
|
|
19
|
+
});
|
|
20
|
+
return {
|
|
21
|
+
type: "DROP",
|
|
22
|
+
object,
|
|
23
|
+
statement,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function diffSchemaOperations(local, remote, options = DEFAULT_DDL_OPERATION_OPTIONS) {
|
|
27
|
+
if (!remote) {
|
|
28
|
+
return {
|
|
29
|
+
operations: [createSchemaOperation(local, options.safeOperations)],
|
|
30
|
+
errors: [],
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
if (remote.kind !== "SCHEMA") {
|
|
34
|
+
return {
|
|
35
|
+
operations: [],
|
|
36
|
+
errors: [kindMismatchError("SCHEMA", remote)],
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
return { operations: [], errors: [] };
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/reconciliation/operations/schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,6BAA6B,EAC7B,iBAAiB,GAElB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC,MAAM,UAAU,qBAAqB,CACnC,MAAgD,EAChD,WAAW,GAAG,IAAI;IAElB,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC;QACjC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW;KACZ,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAgD,EAChD,OAA4B;IAE5B,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;QAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,OAAO,CAAC,cAAc;QAChC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;KACzD,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,MAAM;QACN,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAA+C,EAC/C,MAA2C,EAC3C,UAA+B,6BAA6B;IAE5D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,UAAU,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAClE,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO;YACL,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AnySequenceDefinition } from "@dsqlbase/core/definition";
|
|
2
|
+
import { SchemaObjectType, SerializedObject } from "../../base.js";
|
|
3
|
+
import { DDLOperation, DDLOperationOptions, OperationResult } from "./base.js";
|
|
4
|
+
export declare function createSequenceOperation(object: SerializedObject<AnySequenceDefinition>, ifNotExists?: boolean): DDLOperation;
|
|
5
|
+
export declare function dropSequenceOperation(object: SerializedObject<AnySequenceDefinition>, options?: DDLOperationOptions): DDLOperation;
|
|
6
|
+
export declare function diffSequenceOperations(local: SerializedObject<AnySequenceDefinition>, remote?: SerializedObject<SchemaObjectType>, options?: DDLOperationOptions): OperationResult;
|
|
7
|
+
//# sourceMappingURL=sequence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../../../src/reconciliation/operations/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,YAAY,EAEZ,mBAAmB,EAInB,eAAe,EAChB,MAAM,WAAW,CAAC;AAInB,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,EAC/C,WAAW,UAAO,GACjB,YAAY,CAuBd;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,EAC/C,OAAO,GAAE,mBAAmD,GAC3D,YAAY,CAad;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,EAC9C,MAAM,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,EAC3C,OAAO,GAAE,mBAAmD,GAC3D,eAAe,CAuCjB"}
|