@vibeorm/migrate 2.0.0-alpha.1 → 2.0.0-alpha.10
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/ddl/mysql.d.ts.map +1 -1
- package/dist/ddl/postgres.d.ts.map +1 -1
- package/dist/ddl/render.d.ts.map +1 -1
- package/dist/ddl/rls.d.ts +40 -0
- package/dist/ddl/rls.d.ts.map +1 -0
- package/dist/ddl/sqlite.d.ts +18 -1
- package/dist/ddl/sqlite.d.ts.map +1 -1
- package/dist/differ.d.ts +8 -0
- package/dist/differ.d.ts.map +1 -1
- package/dist/down.d.ts +2 -0
- package/dist/down.d.ts.map +1 -1
- package/dist/enum-values.d.ts +14 -1
- package/dist/enum-values.d.ts.map +1 -1
- package/dist/execute.d.ts +84 -1
- package/dist/execute.d.ts.map +1 -1
- package/dist/execution.d.ts +168 -0
- package/dist/execution.d.ts.map +1 -0
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3697 -1822
- package/dist/index.js.map +29 -23
- package/dist/introspect/mysql.d.ts.map +1 -1
- package/dist/introspect/postgres-rls.d.ts +41 -0
- package/dist/introspect/postgres-rls.d.ts.map +1 -0
- package/dist/introspect/postgres.d.ts +5 -18
- package/dist/introspect/postgres.d.ts.map +1 -1
- package/dist/introspect/shared.d.ts +8 -1
- package/dist/introspect/shared.d.ts.map +1 -1
- package/dist/introspect/sqlite.d.ts.map +1 -1
- package/dist/journal-table.d.ts +15 -0
- package/dist/journal-table.d.ts.map +1 -0
- package/dist/mysql-types.d.ts.map +1 -1
- package/dist/normalize.d.ts +32 -4
- package/dist/normalize.d.ts.map +1 -1
- package/dist/postgres-types.d.ts +8 -1
- package/dist/postgres-types.d.ts.map +1 -1
- package/dist/push.d.ts +6 -0
- package/dist/push.d.ts.map +1 -1
- package/dist/recovery.d.ts +41 -0
- package/dist/recovery.d.ts.map +1 -0
- package/dist/relations.d.ts +16 -6
- package/dist/relations.d.ts.map +1 -1
- package/dist/renames.d.ts +58 -0
- package/dist/renames.d.ts.map +1 -0
- package/dist/runner.d.ts +87 -26
- package/dist/runner.d.ts.map +1 -1
- package/dist/sqlite-types.d.ts +14 -0
- package/dist/sqlite-types.d.ts.map +1 -1
- package/dist/types.d.ts +114 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -3
package/dist/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/sqlite-types.d.ts
CHANGED
|
@@ -76,6 +76,20 @@ export type ParsedEnumCheck = {
|
|
|
76
76
|
readonly enumName: string;
|
|
77
77
|
readonly values: readonly string[];
|
|
78
78
|
};
|
|
79
|
+
/** One parsed NAMED user CHECK from a table's `sqlite_master.sql`. */
|
|
80
|
+
export type ParsedNamedCheck = {
|
|
81
|
+
readonly name: string;
|
|
82
|
+
readonly expression: string;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Every `CONSTRAINT "name" CHECK (…)` in a table's `sqlite_master.sql`, with
|
|
86
|
+
* a balanced-paren walk for the expression (a regex capture would stop at the
|
|
87
|
+
* first `)`). The caller filters out the enum-convention names — those are
|
|
88
|
+
* column machinery, not user checks.
|
|
89
|
+
*/
|
|
90
|
+
export declare function parseSqliteNamedChecks(params: {
|
|
91
|
+
tableSql: string;
|
|
92
|
+
}): ParsedNamedCheck[];
|
|
79
93
|
/**
|
|
80
94
|
* Recover enum columns from a table's `sqlite_master.sql` text. Only checks
|
|
81
95
|
* following OUR naming convention are recognized; foreign CHECK constraints
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-types.d.ts","sourceRoot":"","sources":["../src/sqlite-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAI9C,wCAAwC;AACxC,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAUjE,CAAC;AAEF,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,CAMxE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAepE;AAID;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,GAAG,MAAM,CAWT;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAOlF;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAuB/E;AAID;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAET;AAED,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;AAKF;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,EAAE,CAYrF"}
|
|
1
|
+
{"version":3,"file":"sqlite-types.d.ts","sourceRoot":"","sources":["../src/sqlite-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAI9C,wCAAwC;AACxC,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAUjE,CAAC;AAEF,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,CAMxE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAepE;AAID;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,GAAG,MAAM,CAWT;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAOlF;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAuB/E;AAID;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAET;AAED,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;AAKF,sEAAsE;AACtE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,EAAE,CAuBvF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,EAAE,CAYrF"}
|
package/dist/types.d.ts
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* produced exclusively by the per-dialect renderers (ddl-postgres.ts), so every
|
|
7
7
|
* SQL-text decision stays reviewable in one place (constitution rule 3/4).
|
|
8
8
|
*/
|
|
9
|
-
import type { CascadeAction, EnumIR, FieldIR } from "@vibeorm/schema";
|
|
9
|
+
import type { CascadeAction, CheckIR, EnumIR, FieldIR, SchemaIR } from "@vibeorm/schema";
|
|
10
|
+
import type { MigrationExecution } from "./execution.ts";
|
|
10
11
|
/**
|
|
11
12
|
* Minimal SQL execution contract the migrate engine runs on. Structurally
|
|
12
13
|
* identical to @vibeorm/runtime's `SqlExecutor` (its `toSqlExecutor` bridges a
|
|
@@ -55,7 +56,17 @@ export type JoinTableEnd = {
|
|
|
55
56
|
* dropEnum / narrowing type changes) — `push` refuses them without
|
|
56
57
|
* `acceptDataLoss`, and `generateMigration` surfaces the flag.
|
|
57
58
|
*/
|
|
58
|
-
export type MigrationStep = {
|
|
59
|
+
export type MigrationStep = ({
|
|
60
|
+
readonly kind: "enableRls" | "forceRls" | "disableRls" | "noForceRls" | "dropPolicy";
|
|
61
|
+
readonly table: string;
|
|
62
|
+
readonly destructive: false;
|
|
63
|
+
} | {
|
|
64
|
+
readonly kind: "createPolicy";
|
|
65
|
+
readonly table: string;
|
|
66
|
+
readonly schema: SchemaIR;
|
|
67
|
+
readonly model: string;
|
|
68
|
+
readonly destructive: false;
|
|
69
|
+
} | {
|
|
59
70
|
readonly kind: "createEnum";
|
|
60
71
|
readonly enumDef: EnumIR;
|
|
61
72
|
readonly destructive: false;
|
|
@@ -74,6 +85,20 @@ export type MigrationStep = {
|
|
|
74
85
|
readonly columns: readonly FieldIR[];
|
|
75
86
|
/** Primary-key column db names (empty = no PK). */
|
|
76
87
|
readonly primaryKey: readonly string[];
|
|
88
|
+
/** Named CHECK constraints, rendered into the CREATE TABLE. */
|
|
89
|
+
readonly checks?: readonly CheckIR[];
|
|
90
|
+
readonly destructive: false;
|
|
91
|
+
} | {
|
|
92
|
+
readonly kind: "addCheck";
|
|
93
|
+
readonly table: string;
|
|
94
|
+
readonly name: string;
|
|
95
|
+
/** Raw SQL expression, rendered verbatim. */
|
|
96
|
+
readonly expression: string;
|
|
97
|
+
readonly destructive: false;
|
|
98
|
+
} | {
|
|
99
|
+
readonly kind: "dropCheck";
|
|
100
|
+
readonly table: string;
|
|
101
|
+
readonly name: string;
|
|
77
102
|
readonly destructive: false;
|
|
78
103
|
} | {
|
|
79
104
|
readonly kind: "dropTable";
|
|
@@ -108,6 +133,8 @@ export type MigrationStep = {
|
|
|
108
133
|
readonly columns: readonly IndexColumn[];
|
|
109
134
|
/** Partial-index predicate, raw SQL. */
|
|
110
135
|
readonly where?: string;
|
|
136
|
+
/** `UNIQUE NULLS NOT DISTINCT` (postgres 15+; sqlite/mysql renderers refuse). */
|
|
137
|
+
readonly nullsNotDistinct?: boolean;
|
|
111
138
|
readonly destructive: false;
|
|
112
139
|
} | {
|
|
113
140
|
readonly kind: "dropIndex";
|
|
@@ -129,6 +156,53 @@ export type MigrationStep = {
|
|
|
129
156
|
readonly onDelete: CascadeAction;
|
|
130
157
|
readonly onUpdate: CascadeAction;
|
|
131
158
|
readonly destructive: false;
|
|
159
|
+
} | {
|
|
160
|
+
/**
|
|
161
|
+
* Stage a foreign key without validating existing rows (postgres
|
|
162
|
+
* `NOT VALID`). Skips the scan, NOT the brief ACCESS EXCLUSIVE lock;
|
|
163
|
+
* `validateConstraint` finishes the job under a weaker lock. sqlite and
|
|
164
|
+
* mysql have no such split and refuse this step.
|
|
165
|
+
*/
|
|
166
|
+
readonly kind: "addForeignKeyNotValid";
|
|
167
|
+
readonly table: string;
|
|
168
|
+
readonly constraintName: string;
|
|
169
|
+
readonly columns: readonly string[];
|
|
170
|
+
readonly refTable: string;
|
|
171
|
+
readonly refColumns: readonly string[];
|
|
172
|
+
readonly onDelete: CascadeAction;
|
|
173
|
+
readonly onUpdate: CascadeAction;
|
|
174
|
+
readonly destructive: false;
|
|
175
|
+
} | {
|
|
176
|
+
/** Stage a CHECK without validating existing rows (postgres `NOT VALID`). */
|
|
177
|
+
readonly kind: "addCheckNotValid";
|
|
178
|
+
readonly table: string;
|
|
179
|
+
readonly name: string;
|
|
180
|
+
/** Raw SQL expression, rendered verbatim. */
|
|
181
|
+
readonly expression: string;
|
|
182
|
+
readonly destructive: false;
|
|
183
|
+
} | {
|
|
184
|
+
/** Validate a previously staged NOT VALID constraint (postgres only). */
|
|
185
|
+
readonly kind: "validateConstraint";
|
|
186
|
+
readonly table: string;
|
|
187
|
+
readonly name: string;
|
|
188
|
+
readonly destructive: false;
|
|
189
|
+
} | {
|
|
190
|
+
/**
|
|
191
|
+
* Rename a physical table, preserving its rows, defaults, indexes and
|
|
192
|
+
* inbound foreign keys. Only ever produced from an EXPLICIT rename
|
|
193
|
+
* intent (renames.ts) — never inferred from a drop/create pair.
|
|
194
|
+
*/
|
|
195
|
+
readonly kind: "renameTable";
|
|
196
|
+
readonly from: string;
|
|
197
|
+
readonly to: string;
|
|
198
|
+
readonly destructive: false;
|
|
199
|
+
} | {
|
|
200
|
+
/** Rename a physical column, preserving its data, default and indexes. */
|
|
201
|
+
readonly kind: "renameColumn";
|
|
202
|
+
readonly table: string;
|
|
203
|
+
readonly from: string;
|
|
204
|
+
readonly to: string;
|
|
205
|
+
readonly destructive: false;
|
|
132
206
|
} | {
|
|
133
207
|
readonly kind: "dropForeignKey";
|
|
134
208
|
readonly table: string;
|
|
@@ -165,6 +239,9 @@ export type MigrationStep = {
|
|
|
165
239
|
/** View db name. */
|
|
166
240
|
readonly table: string;
|
|
167
241
|
readonly destructive: true;
|
|
242
|
+
}) & {
|
|
243
|
+
/** Separate from data loss: a removal or potentially widening policy replacement. */
|
|
244
|
+
readonly securityChange?: string;
|
|
168
245
|
};
|
|
169
246
|
/** One-line human description of a step (refusal messages, CLI output). */
|
|
170
247
|
export declare function describeStep(params: {
|
|
@@ -183,6 +260,23 @@ export type MigrationFile = {
|
|
|
183
260
|
* `rollbackMigration` refuses those with a clear error.
|
|
184
261
|
*/
|
|
185
262
|
readonly downSql?: readonly string[];
|
|
263
|
+
/** Security changes are not authorized by an ordinary data-loss acknowledgement. */
|
|
264
|
+
readonly securityChanges?: readonly string[];
|
|
265
|
+
readonly downSecurityChanges?: readonly string[];
|
|
266
|
+
/** Trusted source declarations used for drift preflight on generated migrations. */
|
|
267
|
+
readonly rls?: {
|
|
268
|
+
readonly from: SchemaIR;
|
|
269
|
+
readonly to: SchemaIR;
|
|
270
|
+
};
|
|
271
|
+
/**
|
|
272
|
+
* Explicit execution semantics (transaction mode, migration-owned session
|
|
273
|
+
* limits, declared per-statement operations). ABSENT means the dialect's
|
|
274
|
+
* existing behaviour, and hashes exactly as it always did — see
|
|
275
|
+
* execution.ts's checksum-compatibility rule.
|
|
276
|
+
*/
|
|
277
|
+
readonly execution?: MigrationExecution;
|
|
278
|
+
/** Execution semantics of `downSql`; absent means the dialect's existing behaviour. */
|
|
279
|
+
readonly downExecution?: MigrationExecution;
|
|
186
280
|
};
|
|
187
281
|
/** Result of `applyMigrations`. */
|
|
188
282
|
export type AppliedResult = {
|
|
@@ -207,11 +301,29 @@ export type MigrationStatus = {
|
|
|
207
301
|
*/
|
|
208
302
|
readonly rollingBack: readonly string[];
|
|
209
303
|
};
|
|
304
|
+
/**
|
|
305
|
+
* How one bookkeeping row stands against the migration file of the same name.
|
|
306
|
+
* `unknown-file` is a recorded migration whose file is missing from the
|
|
307
|
+
* migrations directory — history the tool cannot reverse.
|
|
308
|
+
*/
|
|
309
|
+
export type RecordedMigrationState = "applied" | "partial" | "mismatched" | "rolling-back" | "unknown-file";
|
|
310
|
+
/** One row of the `_vibe_migrations` journal, in the order it was written. */
|
|
311
|
+
export type RecordedMigration = {
|
|
312
|
+
readonly name: string;
|
|
313
|
+
/** Recorded checksum; empty for a `resolveMigration` repair record. */
|
|
314
|
+
readonly checksum: string;
|
|
315
|
+
/** Statements completed; NEGATIVE (-(k+1)) marks an unfinished rollback. */
|
|
316
|
+
readonly statementIndex: number;
|
|
317
|
+
readonly state: RecordedMigrationState;
|
|
318
|
+
};
|
|
210
319
|
/** Result of `push`. */
|
|
211
320
|
export type PushResult = {
|
|
212
321
|
/** The diff that was applied (empty = database already matched). */
|
|
213
322
|
readonly steps: readonly MigrationStep[];
|
|
214
323
|
/** The SQL statements that were executed, in order. */
|
|
215
324
|
readonly applied: readonly string[];
|
|
325
|
+
/** Dry-run statements, never executed. */
|
|
326
|
+
readonly planned?: readonly string[];
|
|
327
|
+
readonly securityChanges?: readonly string[];
|
|
216
328
|
};
|
|
217
329
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibeorm/migrate",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.10",
|
|
4
4
|
"description": "Migration engine for VibeORM v2 — IR differ, per-dialect DDL, migration runner, introspection",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"orm",
|
|
@@ -40,11 +40,12 @@
|
|
|
40
40
|
"README.md"
|
|
41
41
|
],
|
|
42
42
|
"engines": {
|
|
43
|
+
"node": ">=18",
|
|
43
44
|
"bun": ">=1.2.0"
|
|
44
45
|
},
|
|
45
46
|
"dependencies": {
|
|
46
|
-
"@vibeorm/schema": "2.0.0-alpha.
|
|
47
|
-
"@vibeorm/sql": "2.0.0-alpha.
|
|
47
|
+
"@vibeorm/schema": "2.0.0-alpha.8",
|
|
48
|
+
"@vibeorm/sql": "2.0.0-alpha.8"
|
|
48
49
|
},
|
|
49
50
|
"publishConfig": {
|
|
50
51
|
"access": "public"
|