@fougere/adapter-sql 0.13.1-alpha.0 → 0.14.1-alpha.0
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/diff/Change.d.ts +15 -0
- package/dist/diff/Change.d.ts.map +1 -1
- package/dist/diff/Change.js +33 -0
- package/dist/diff/Change.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/source/SqlSource.d.ts.map +1 -1
- package/dist/source/SqlSource.js +2 -1
- package/dist/source/SqlSource.js.map +1 -1
- package/dist/sqlite/SqliteSource.d.ts.map +1 -1
- package/dist/sqlite/SqliteSource.js +2 -1
- package/dist/sqlite/SqliteSource.js.map +1 -1
- package/dist/step/Plan.d.ts.map +1 -1
- package/dist/step/Plan.js +8 -6
- package/dist/step/Plan.js.map +1 -1
- package/package.json +4 -4
- package/src/diff/Change.ts +35 -0
- package/src/index.ts +1 -1
- package/src/source/SqlSource.ts +2 -1
- package/src/sqlite/SqliteSource.ts +3 -1
- package/src/step/Plan.ts +8 -6
package/dist/diff/Change.d.ts
CHANGED
|
@@ -44,4 +44,19 @@ export declare function planMigration(app: AppLike, db: Kysely<any>, options?: G
|
|
|
44
44
|
export declare function migrate(app: AppLike, target: Kysely<any> | {
|
|
45
45
|
db: Kysely<any>;
|
|
46
46
|
}, options?: GenerateOptions): Promise<Change[]>;
|
|
47
|
+
/**
|
|
48
|
+
* What the database lacks that the entities ask for, READ and never written — a table, a
|
|
49
|
+
* column. Indexes are left out: this pass reads names, and `CREATE INDEX IF NOT EXISTS` is
|
|
50
|
+
* what `migrate` proposes every time precisely because nothing here can see one.
|
|
51
|
+
*/
|
|
52
|
+
export declare function pendingOf(app: AppLike, db: Kysely<any>, options?: GenerateOptions): Promise<string[]>;
|
|
53
|
+
/**
|
|
54
|
+
* The columns a live table keeps that no field declares, for the tables that also GAIN one —
|
|
55
|
+
* which is what an undeclared rename looks like: the data stays in a column nothing reads.
|
|
56
|
+
*/
|
|
57
|
+
export declare function undeclaredColumns(desired: TableDef[], actual: SchemaState): {
|
|
58
|
+
table: string;
|
|
59
|
+
columns: string[];
|
|
60
|
+
added: string[];
|
|
61
|
+
}[];
|
|
47
62
|
//# sourceMappingURL=Change.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Change.d.ts","sourceRoot":"","sources":["../../src/diff/Change.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAIjE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAkC,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,2FAA2F;AAC3F,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAQvE;AAED,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,EAAE,CAEjF;AAED,MAAM,MAAM,MAAM,GACd;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAEhE,kFAAkF;AAClF,wBAAgB,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CA2BxE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE,CAwBlF;AAED,yBAAyB;AACzB,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CA0C1E;AAED,sEAAsE;AACtE,wBAAsB,aAAa,CACjC,GAAG,EAAE,OAAO,EACZ,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EACf,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAKtD;AAED,wEAAwE;AACxE,wBAAsB,OAAO,CAC3B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;CAAE,EACzC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CAQnB"}
|
|
1
|
+
{"version":3,"file":"Change.d.ts","sourceRoot":"","sources":["../../src/diff/Change.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAIjE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAkC,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,2FAA2F;AAC3F,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAQvE;AAED,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,EAAE,CAEjF;AAED,MAAM,MAAM,MAAM,GACd;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAEhE,kFAAkF;AAClF,wBAAgB,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CA2BxE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE,CAwBlF;AAED,yBAAyB;AACzB,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CA0C1E;AAED,sEAAsE;AACtE,wBAAsB,aAAa,CACjC,GAAG,EAAE,OAAO,EACZ,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EACf,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAKtD;AAED,wEAAwE;AACxE,wBAAsB,OAAO,CAC3B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;CAAE,EACzC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CAQnB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAY3G;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,CAUnI"}
|
package/dist/diff/Change.js
CHANGED
|
@@ -133,4 +133,37 @@ export async function migrate(app, target, options) {
|
|
|
133
133
|
}
|
|
134
134
|
return changes;
|
|
135
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* What the database lacks that the entities ask for, READ and never written — a table, a
|
|
138
|
+
* column. Indexes are left out: this pass reads names, and `CREATE INDEX IF NOT EXISTS` is
|
|
139
|
+
* what `migrate` proposes every time precisely because nothing here can see one.
|
|
140
|
+
*/
|
|
141
|
+
export async function pendingOf(app, db, options) {
|
|
142
|
+
// Names only, so `elsewhere` is left out: it decides which relations get a foreign key, and
|
|
143
|
+
// a process carrying only its own frond refers to entities it has never seen — which a
|
|
144
|
+
// question about names has no reason to refuse.
|
|
145
|
+
const desired = desiredTables({ ...app, elsewhere: undefined }, options);
|
|
146
|
+
return delta(desired, await actualState(db)).flatMap((change) => {
|
|
147
|
+
if (change.kind === 'createTable')
|
|
148
|
+
return [`${change.table.name} — no table`];
|
|
149
|
+
if (change.kind === 'addColumn')
|
|
150
|
+
return [`${change.table.name}.${change.column.name} — no column`];
|
|
151
|
+
return [];
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* The columns a live table keeps that no field declares, for the tables that also GAIN one —
|
|
156
|
+
* which is what an undeclared rename looks like: the data stays in a column nothing reads.
|
|
157
|
+
*/
|
|
158
|
+
export function undeclaredColumns(desired, actual) {
|
|
159
|
+
return desired.flatMap((table) => {
|
|
160
|
+
const live = actual.get(table.name);
|
|
161
|
+
if (!live)
|
|
162
|
+
return [];
|
|
163
|
+
const declared = new Set(table.columns.map((column) => column.name));
|
|
164
|
+
const columns = [...live].filter((name) => !declared.has(name));
|
|
165
|
+
const added = table.columns.map((column) => column.name).filter((name) => !live.has(name));
|
|
166
|
+
return columns.length > 0 && added.length > 0 ? [{ table: table.name, columns, added }] : [];
|
|
167
|
+
});
|
|
168
|
+
}
|
|
136
169
|
//# sourceMappingURL=Change.js.map
|
package/dist/diff/Change.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Change.js","sourceRoot":"","sources":["../../src/diff/Change.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Change.js","sourceRoot":"","sources":["../../src/diff/Change.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export type { SqlSource } from './source/SqlSource.js';
|
|
|
18
18
|
export { drift } from './drift.js';
|
|
19
19
|
export type { Drift } from './drift.js';
|
|
20
20
|
export { actualState } from './diff/SchemaState.js';
|
|
21
|
-
export { changeSQL, delta, desiredTables, migrate } from './diff/Change.js';
|
|
21
|
+
export { changeSQL, delta, desiredTables, migrate, pendingOf, undeclaredColumns } from './diff/Change.js';
|
|
22
22
|
export type { Change } from './diff/Change.js';
|
|
23
23
|
export type { SchemaState } from './diff/SchemaState.js';
|
|
24
24
|
export { applyStep, collapseChain, planStep } from './step/Plan.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1G,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACpE,YAAY,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@ export { codecsOf } from './values.js';
|
|
|
11
11
|
export { createKyselySource } from './source/SqlSource.js';
|
|
12
12
|
export { drift } from './drift.js';
|
|
13
13
|
export { actualState } from './diff/SchemaState.js';
|
|
14
|
-
export { changeSQL, delta, desiredTables, migrate } from './diff/Change.js';
|
|
14
|
+
export { changeSQL, delta, desiredTables, migrate, pendingOf, undeclaredColumns } from './diff/Change.js';
|
|
15
15
|
// The non-additive half — realised only from a step a human wrote down.
|
|
16
16
|
export { applyStep, collapseChain, planStep } from './step/Plan.js';
|
|
17
17
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAI/D,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,0FAA0F;AAC1F,wFAAwF;AACxF,uEAAuE;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAI/D,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,0FAA0F;AAC1F,wFAAwF;AACxF,uEAAuE;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1G,wEAAwE;AACxE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqlSource.d.ts","sourceRoot":"","sources":["../../src/source/SqlSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,KAAK,OAAO,IAAI,aAAa,EAAE,MAAM,QAAQ,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAK7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,4FAA4F;AAC5F,MAAM,WAAW,SAAU,SAAQ,MAAM;IACvC,OAAO,EAAE,WAAW,CAAC;IACrB,cAAc,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IACxD,+DAA+D;IAC/D,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAChB,0FAA0F;IAC1F,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACxG;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,YAAI,QAAQ,EAAE,UAAU,CAAU,CAAC;AAa3D,0EAA0E;AAC1E,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAEhD;AAED,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,WAAW,EACpB,IAAI,GAAE,gBAAqB,GAC1B,SAAS,
|
|
1
|
+
{"version":3,"file":"SqlSource.d.ts","sourceRoot":"","sources":["../../src/source/SqlSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,KAAK,OAAO,IAAI,aAAa,EAAE,MAAM,QAAQ,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAK7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,4FAA4F;AAC5F,MAAM,WAAW,SAAU,SAAQ,MAAM;IACvC,OAAO,EAAE,WAAW,CAAC;IACrB,cAAc,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IACxD,+DAA+D;IAC/D,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAChB,0FAA0F;IAC1F,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACxG;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,YAAI,QAAQ,EAAE,UAAU,CAAU,CAAC;AAa3D,0EAA0E;AAC1E,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAEhD;AAED,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,WAAW,EACpB,IAAI,GAAE,gBAAqB,GAC1B,SAAS,CAeX"}
|
package/dist/source/SqlSource.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Kysely, sql } from 'kysely';
|
|
2
2
|
import { createStorageFactory } from '../crud/SqlStorage.js';
|
|
3
3
|
import { logQueries } from '../query/QuerySink.js';
|
|
4
|
-
import { desiredTables, migrate } from '../diff/Change.js';
|
|
4
|
+
import { desiredTables, migrate, pendingOf } from '../diff/Change.js';
|
|
5
5
|
import { drift, driftReport } from '../drift.js';
|
|
6
6
|
import { toTableName } from '../table/TableDef.js';
|
|
7
7
|
/**
|
|
@@ -32,6 +32,7 @@ export function createKyselySource(kyselyDialect, dialect, opts = {}) {
|
|
|
32
32
|
storageFactory: createStorageFactory(db, opts.storageFactoryOptions, dialect),
|
|
33
33
|
sink: sqlSink(db),
|
|
34
34
|
migrate: migrating(db, dialect, opts),
|
|
35
|
+
pending: (view) => pendingOf(view, db, { dialect, tableName: opts.storageFactoryOptions?.tableName ?? toTableName }),
|
|
35
36
|
close: () => db.destroy(),
|
|
36
37
|
name: opts.name ?? dialect,
|
|
37
38
|
enforces: sqlEnforces,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqlSource.js","sourceRoot":"","sources":["../../src/source/SqlSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAiC,MAAM,QAAQ,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"SqlSource.js","sourceRoot":"","sources":["../../src/source/SqlSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAiC,MAAM,QAAQ,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAoBnD;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAU,CAAC;AAE3D,+EAA+E;AAC/E,SAAS,SAAS,CAAC,EAAe,EAAE,OAAoB,EAAE,IAAsB;IAC9E,OAAO,KAAK,EAAE,IAAgB,EAA0B,EAAE;QACxD,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,IAAI,WAAW,EAAE,CAAC;QAC7F,MAAM,OAAO,CAAC,IAAa,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,aAAa,CAAC,IAAa,EAAE,OAAO,CAAC,CAAC,CAAC;QAErE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,OAAO,CAAC,EAAe;IACrC,OAAO,EAAE,OAAO,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,kBAAkB,CAChC,aAA4B,EAC5B,OAAoB,EACpB,IAAI,GAAqB,EAAE;IAE3B,MAAM,EAAE,GAAG,IAAI,MAAM,CAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;IAE9F,OAAO;QACL,EAAE;QACF,OAAO;QACP,cAAc,EAAE,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC;QAC7E,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACjB,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC;QACrC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAa,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,IAAI,WAAW,EAAE,CAAC;QAC7H,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,OAAO;QAC1B,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC;KAC1H,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteSource.d.ts","sourceRoot":"","sources":["../../src/sqlite/SqliteSource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAI/C,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAMlG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,wDAAwD;IACxD,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC;CAC/B;AAED,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,mBAAwB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"SqliteSource.d.ts","sourceRoot":"","sources":["../../src/sqlite/SqliteSource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAI/C,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAMlG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,wDAAwD;IACxD,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC;CAC/B;AAED,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,mBAAwB,GAAG,YAAY,CA+B/E"}
|
|
@@ -7,7 +7,7 @@ import { drift, driftReport } from '../drift.js';
|
|
|
7
7
|
import { createKyselySource, sqlEnforces, sqlSink } from '../source/SqlSource.js';
|
|
8
8
|
import { DRIVERS, dialectFor, messageOf, modulesOf } from '../driver/Driver.js';
|
|
9
9
|
import { ENGINES } from '../fields/Engine.js';
|
|
10
|
-
import { desiredTables, migrate } from '../diff/Change.js';
|
|
10
|
+
import { desiredTables, migrate, pendingOf } from '../diff/Change.js';
|
|
11
11
|
import { toTableName } from '../table/TableDef.js';
|
|
12
12
|
import { Sources } from '@fougere/core';
|
|
13
13
|
export function createSqliteSource(opts = {}) {
|
|
@@ -33,6 +33,7 @@ export function createSqliteSource(opts = {}) {
|
|
|
33
33
|
const found = await drift(db, desiredTables(view, options));
|
|
34
34
|
return found.length ? driftReport(found) : undefined;
|
|
35
35
|
},
|
|
36
|
+
pending: (view) => pendingOf(view, db, { dialect: 'sqlite', tableName: opts.storageFactoryOptions?.tableName ?? toTableName }),
|
|
36
37
|
close: () => db.destroy(),
|
|
37
38
|
name: opts.name ?? path,
|
|
38
39
|
enforces: sqlEnforces,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteSource.js","sourceRoot":"","sources":["../../src/sqlite/SqliteSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAkB,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"SqliteSource.js","sourceRoot":"","sources":["../../src/sqlite/SqliteSource.ts"],"names":[],"mappings":"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"}
|
package/dist/step/Plan.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plan.d.ts","sourceRoot":"","sources":["../../src/step/Plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAyB,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAA4B,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB;;;OAGG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAgBhE;AAsCD,2FAA2F;AAC3F,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAwB3F;
|
|
1
|
+
{"version":3,"file":"Plan.d.ts","sourceRoot":"","sources":["../../src/step/Plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAyB,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAA4B,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB;;;OAGG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAgBhE;AAsCD,2FAA2F;AAC3F,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAwB3F;AAiHD,0FAA0F;AAC1F,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,GAAE,WAAsB,GAAG,MAAM,CAMvF;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,WAAW,GAAE,WAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAanH"}
|
package/dist/step/Plan.js
CHANGED
|
@@ -71,7 +71,7 @@ export function planStep(step, tables, options = {}) {
|
|
|
71
71
|
const decided = realise(entity, table, change, byName.get(table));
|
|
72
72
|
if ('reason' in decided)
|
|
73
73
|
refusals.push(decided);
|
|
74
|
-
else if (decided.change && !done(decided.change, actual
|
|
74
|
+
else if (decided.change && !(actual && done(decided.change, actual.get(table))))
|
|
75
75
|
changes.push(decided.change);
|
|
76
76
|
}
|
|
77
77
|
}
|
|
@@ -162,13 +162,15 @@ function literalOf(rules) {
|
|
|
162
162
|
return create && typeof create === 'object' && 'value' in create ? create.value : undefined;
|
|
163
163
|
}
|
|
164
164
|
const show = (value) => (value === undefined ? 'none' : JSON.stringify(value));
|
|
165
|
-
/**
|
|
165
|
+
/**
|
|
166
|
+
* Has the table already moved? Read off the columns themselves. A table that is not there has
|
|
167
|
+
* nothing to move — the additive pass creates it at its final shape — and a rename whose old
|
|
168
|
+
* name is gone has nothing left to carry.
|
|
169
|
+
*/
|
|
166
170
|
function done(change, columns) {
|
|
167
171
|
if (!columns)
|
|
168
|
-
return
|
|
169
|
-
return change.kind === 'renameColumn'
|
|
170
|
-
? !columns.has(change.from) && columns.has(change.to)
|
|
171
|
-
: !columns.has(change.column);
|
|
172
|
+
return true;
|
|
173
|
+
return change.kind === 'renameColumn' ? !columns.has(change.from) : !columns.has(change.column);
|
|
172
174
|
}
|
|
173
175
|
/** One statement per change — the same rule `migrate` follows: no driver here batches. */
|
|
174
176
|
export function stepSQL(change, dialectName = 'sqlite') {
|
package/dist/step/Plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plan.js","sourceRoot":"","sources":["../../src/step/Plan.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Plan.js","sourceRoot":"","sources":["../../src/step/Plan.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fougere/adapter-sql",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.1-alpha.0",
|
|
4
4
|
"description": "Entity → SQL tables through Kysely (SQLite, PostgreSQL, MySQL, SQL Server).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fougere",
|
|
@@ -37,15 +37,15 @@
|
|
|
37
37
|
"src"
|
|
38
38
|
],
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@fougere/core": "0.
|
|
41
|
-
"@fougere/schema": "0.
|
|
40
|
+
"@fougere/core": "0.14.1-alpha.0",
|
|
41
|
+
"@fougere/schema": "0.14.1-alpha.0",
|
|
42
42
|
"dequal": "^2.0.3"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"kysely": ">=0.28.17"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@fougere/core": "0.
|
|
48
|
+
"@fougere/core": "0.14.1-alpha.0",
|
|
49
49
|
"better-sqlite3": "^13.0.3",
|
|
50
50
|
"@types/better-sqlite3": "^7.6.13",
|
|
51
51
|
"@types/node": "^22.0.0",
|
package/src/diff/Change.ts
CHANGED
|
@@ -163,3 +163,38 @@ export async function migrate(
|
|
|
163
163
|
|
|
164
164
|
return changes;
|
|
165
165
|
}
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* What the database lacks that the entities ask for, READ and never written — a table, a
|
|
169
|
+
* column. Indexes are left out: this pass reads names, and `CREATE INDEX IF NOT EXISTS` is
|
|
170
|
+
* what `migrate` proposes every time precisely because nothing here can see one.
|
|
171
|
+
*/
|
|
172
|
+
export async function pendingOf(app: AppLike, db: Kysely<any>, options?: GenerateOptions): Promise<string[]> {
|
|
173
|
+
// Names only, so `elsewhere` is left out: it decides which relations get a foreign key, and
|
|
174
|
+
// a process carrying only its own frond refers to entities it has never seen — which a
|
|
175
|
+
// question about names has no reason to refuse.
|
|
176
|
+
const desired = desiredTables({ ...app, elsewhere: undefined }, options);
|
|
177
|
+
|
|
178
|
+
return delta(desired, await actualState(db)).flatMap((change) => {
|
|
179
|
+
if (change.kind === 'createTable') return [`${change.table.name} — no table`];
|
|
180
|
+
if (change.kind === 'addColumn') return [`${change.table.name}.${change.column.name} — no column`];
|
|
181
|
+
|
|
182
|
+
return [];
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* The columns a live table keeps that no field declares, for the tables that also GAIN one —
|
|
188
|
+
* which is what an undeclared rename looks like: the data stays in a column nothing reads.
|
|
189
|
+
*/
|
|
190
|
+
export function undeclaredColumns(desired: TableDef[], actual: SchemaState): { table: string; columns: string[]; added: string[] }[] {
|
|
191
|
+
return desired.flatMap((table) => {
|
|
192
|
+
const live = actual.get(table.name);
|
|
193
|
+
if (!live) return [];
|
|
194
|
+
const declared = new Set(table.columns.map((column) => column.name));
|
|
195
|
+
const columns = [...live].filter((name) => !declared.has(name));
|
|
196
|
+
const added = table.columns.map((column) => column.name).filter((name) => !live.has(name));
|
|
197
|
+
|
|
198
|
+
return columns.length > 0 && added.length > 0 ? [{ table: table.name, columns, added }] : [];
|
|
199
|
+
});
|
|
200
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -21,7 +21,7 @@ export type { SqlSource } from './source/SqlSource.js';
|
|
|
21
21
|
export { drift } from './drift.js';
|
|
22
22
|
export type { Drift } from './drift.js';
|
|
23
23
|
export { actualState } from './diff/SchemaState.js';
|
|
24
|
-
export { changeSQL, delta, desiredTables, migrate } from './diff/Change.js';
|
|
24
|
+
export { changeSQL, delta, desiredTables, migrate, pendingOf, undeclaredColumns } from './diff/Change.js';
|
|
25
25
|
export type { Change } from './diff/Change.js';
|
|
26
26
|
export type { SchemaState } from './diff/SchemaState.js';
|
|
27
27
|
// The non-additive half — realised only from a step a human wrote down.
|
package/src/source/SqlSource.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Kysely, sql, type Dialect as KyselyDialect } from 'kysely';
|
|
|
2
2
|
import type { Source, SourceView } from '@fougere/core';
|
|
3
3
|
import { createStorageFactory } from '../crud/SqlStorage.js';
|
|
4
4
|
import { logQueries } from '../query/QuerySink.js';
|
|
5
|
-
import { desiredTables, migrate } from '../diff/Change.js';
|
|
5
|
+
import { desiredTables, migrate, pendingOf } from '../diff/Change.js';
|
|
6
6
|
import { drift, driftReport } from '../drift.js';
|
|
7
7
|
import { toTableName } from '../table/TableDef.js';
|
|
8
8
|
import type { DialectName } from '../dialect/DialectName.js';
|
|
@@ -61,6 +61,7 @@ export function createKyselySource(
|
|
|
61
61
|
storageFactory: createStorageFactory(db, opts.storageFactoryOptions, dialect),
|
|
62
62
|
sink: sqlSink(db),
|
|
63
63
|
migrate: migrating(db, dialect, opts),
|
|
64
|
+
pending: (view) => pendingOf(view as never, db, { dialect, tableName: opts.storageFactoryOptions?.tableName ?? toTableName }),
|
|
64
65
|
close: () => db.destroy(),
|
|
65
66
|
name: opts.name ?? dialect,
|
|
66
67
|
enforces: sqlEnforces,
|
|
@@ -8,7 +8,7 @@ import { drift, driftReport } from '../drift.js';
|
|
|
8
8
|
import { createKyselySource, sqlEnforces, sqlSink, type SqlSource } from '../source/SqlSource.js';
|
|
9
9
|
import { DRIVERS, dialectFor, messageOf, modulesOf } from '../driver/Driver.js';
|
|
10
10
|
import { ENGINES } from '../fields/Engine.js';
|
|
11
|
-
import { desiredTables, migrate } from '../diff/Change.js';
|
|
11
|
+
import { desiredTables, migrate, pendingOf } from '../diff/Change.js';
|
|
12
12
|
import { toTableName } from '../table/TableDef.js';
|
|
13
13
|
import { Sources, type Source, type SourceConfig, type SourceView } from '@fougere/core';
|
|
14
14
|
import type { SqliteSourceOptions } from './SqliteSourceOptions.js';
|
|
@@ -42,6 +42,8 @@ export function createSqliteSource(opts: SqliteSourceOptions = {}): SqliteSource
|
|
|
42
42
|
|
|
43
43
|
return found.length ? driftReport(found) : undefined;
|
|
44
44
|
},
|
|
45
|
+
pending: (view: SourceView) =>
|
|
46
|
+
pendingOf(view as never, db, { dialect: 'sqlite', tableName: opts.storageFactoryOptions?.tableName ?? toTableName }),
|
|
45
47
|
close: () => db.destroy(),
|
|
46
48
|
name: opts.name ?? path,
|
|
47
49
|
enforces: sqlEnforces,
|
package/src/step/Plan.ts
CHANGED
|
@@ -92,7 +92,7 @@ export function planStep(step: SetDiff, tables: TableDef[], options: PlanOptions
|
|
|
92
92
|
for (const change of answer.changes) {
|
|
93
93
|
const decided = realise(entity, table, change, byName.get(table)!);
|
|
94
94
|
if ('reason' in decided) refusals.push(decided);
|
|
95
|
-
else if (decided.change && !done(decided.change, actual
|
|
95
|
+
else if (decided.change && !(actual && done(decided.change, actual.get(table)))) changes.push(decided.change);
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
|
|
@@ -199,13 +199,15 @@ function literalOf(rules: { create?: unknown } | undefined): unknown {
|
|
|
199
199
|
|
|
200
200
|
const show = (value: unknown): string => (value === undefined ? 'none' : JSON.stringify(value));
|
|
201
201
|
|
|
202
|
-
/**
|
|
202
|
+
/**
|
|
203
|
+
* Has the table already moved? Read off the columns themselves. A table that is not there has
|
|
204
|
+
* nothing to move — the additive pass creates it at its final shape — and a rename whose old
|
|
205
|
+
* name is gone has nothing left to carry.
|
|
206
|
+
*/
|
|
203
207
|
function done(change: StepChange, columns: Set<string> | undefined): boolean {
|
|
204
|
-
if (!columns) return
|
|
208
|
+
if (!columns) return true;
|
|
205
209
|
|
|
206
|
-
return change.kind === 'renameColumn'
|
|
207
|
-
? !columns.has(change.from) && columns.has(change.to)
|
|
208
|
-
: !columns.has(change.column);
|
|
210
|
+
return change.kind === 'renameColumn' ? !columns.has(change.from) : !columns.has(change.column);
|
|
209
211
|
}
|
|
210
212
|
|
|
211
213
|
/** One statement per change — the same rule `migrate` follows: no driver here batches. */
|