@verdant-web/store 4.6.0 → 5.0.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/bundle/index.js +14 -12
- package/dist/bundle/index.js.map +4 -4
- package/dist/esm/__tests__/fixtures/testStorage.d.ts +1 -1
- package/dist/esm/__tests__/fixtures/testStorage.js +3 -3
- package/dist/esm/__tests__/fixtures/testStorage.js.map +1 -1
- package/dist/esm/__tests__/queries.test.js +3 -3
- package/dist/esm/__tests__/queries.test.js.map +1 -1
- package/dist/esm/__tests__/schema.test.js +3 -3
- package/dist/esm/__tests__/schema.test.js.map +1 -1
- package/dist/esm/client/Client.d.ts +12 -10
- package/dist/esm/client/Client.js +40 -30
- package/dist/esm/client/Client.js.map +1 -1
- package/dist/esm/context/Time.d.ts +1 -1
- package/dist/esm/context/Time.js +1 -1
- package/dist/esm/context/Time.js.map +1 -1
- package/dist/esm/context/context.d.ts +84 -15
- package/dist/esm/context/context.js +98 -1
- package/dist/esm/context/context.js.map +1 -1
- package/dist/esm/entities/Entity.test.js +0 -1
- package/dist/esm/entities/Entity.test.js.map +1 -1
- package/dist/esm/entities/EntityMetadata.js +11 -5
- package/dist/esm/entities/EntityMetadata.js.map +1 -1
- package/dist/esm/entities/EntityStore.js +9 -7
- package/dist/esm/entities/EntityStore.js.map +1 -1
- package/dist/esm/files/FileManager.js +5 -5
- package/dist/esm/files/FileManager.js.map +1 -1
- package/dist/esm/index.d.ts +6 -4
- package/dist/esm/index.js +2 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal.d.ts +3 -4
- package/dist/esm/internal.js +1 -2
- package/dist/esm/internal.js.map +1 -1
- package/dist/esm/persistence/PersistenceMetadata.d.ts +3 -6
- package/dist/esm/persistence/PersistenceMetadata.js +5 -6
- package/dist/esm/persistence/PersistenceMetadata.js.map +1 -1
- package/dist/esm/persistence/idb/IdbService.d.ts +3 -3
- package/dist/esm/persistence/idb/IdbService.js +0 -1
- package/dist/esm/persistence/idb/IdbService.js.map +1 -1
- package/dist/esm/persistence/idb/idbPersistence.d.ts +9 -10
- package/dist/esm/persistence/idb/idbPersistence.js +11 -4
- package/dist/esm/persistence/idb/idbPersistence.js.map +1 -1
- package/dist/esm/persistence/idb/metadata/IdbMetadataDb.d.ts +2 -2
- package/dist/esm/persistence/idb/metadata/IdbMetadataDb.js +1 -1
- package/dist/esm/persistence/idb/metadata/IdbMetadataDb.js.map +1 -1
- package/dist/esm/persistence/idb/queries/IdbDocumentDb.d.ts +3 -2
- package/dist/esm/persistence/idb/queries/IdbDocumentDb.js +16 -15
- package/dist/esm/persistence/idb/queries/IdbDocumentDb.js.map +1 -1
- package/dist/esm/persistence/idb/queries/migration/db.js +7 -0
- package/dist/esm/persistence/idb/queries/migration/db.js.map +1 -1
- package/dist/esm/persistence/idb/util.js +27 -17
- package/dist/esm/persistence/idb/util.js.map +1 -1
- package/dist/esm/persistence/interfaces.d.ts +8 -8
- package/dist/esm/persistence/migration/engine.d.ts +5 -3
- package/dist/esm/persistence/migration/engine.js +23 -14
- package/dist/esm/persistence/migration/engine.js.map +1 -1
- package/dist/esm/persistence/migration/finalize.d.ts +5 -3
- package/dist/esm/persistence/migration/finalize.js +5 -4
- package/dist/esm/persistence/migration/finalize.js.map +1 -1
- package/dist/esm/persistence/migration/migrate.d.ts +8 -5
- package/dist/esm/persistence/migration/migrate.js +10 -4
- package/dist/esm/persistence/migration/migrate.js.map +1 -1
- package/dist/esm/persistence/persistence.d.ts +9 -2
- package/dist/esm/persistence/persistence.js +65 -32
- package/dist/esm/persistence/persistence.js.map +1 -1
- package/dist/esm/queries/FindAllQuery.js +1 -1
- package/dist/esm/queries/FindAllQuery.js.map +1 -1
- package/dist/esm/queries/FindInfiniteQuery.js +2 -2
- package/dist/esm/queries/FindInfiniteQuery.js.map +1 -1
- package/dist/esm/queries/FindOneQuery.js +1 -1
- package/dist/esm/queries/FindOneQuery.js.map +1 -1
- package/dist/esm/queries/FindPageQuery.js +1 -1
- package/dist/esm/queries/FindPageQuery.js.map +1 -1
- package/dist/esm/sync/Heartbeat.js +2 -0
- package/dist/esm/sync/Heartbeat.js.map +1 -1
- package/dist/esm/sync/PresenceManager.d.ts +2 -2
- package/dist/esm/sync/PresenceManager.js +5 -2
- package/dist/esm/sync/PresenceManager.js.map +1 -1
- package/dist/esm/sync/PushPullSync.js +10 -4
- package/dist/esm/sync/PushPullSync.js.map +1 -1
- package/dist/esm/sync/Sync.d.ts +2 -2
- package/dist/esm/sync/Sync.js +17 -14
- package/dist/esm/sync/Sync.js.map +1 -1
- package/dist/esm/sync/WebSocketSync.js +12 -7
- package/dist/esm/sync/WebSocketSync.js.map +1 -1
- package/dist/esm/sync/serviceWorker.d.ts +2 -2
- package/dist/esm/sync/serviceWorker.js +3 -4
- package/dist/esm/sync/serviceWorker.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/fixtures/testStorage.ts +4 -8
- package/src/__tests__/queries.test.ts +3 -5
- package/src/__tests__/schema.test.ts +3 -3
- package/src/client/Client.ts +50 -34
- package/src/context/Time.ts +2 -2
- package/src/context/context.ts +189 -17
- package/src/entities/Entity.test.ts +0 -1
- package/src/entities/EntityMetadata.ts +16 -5
- package/src/entities/EntityStore.ts +14 -10
- package/src/files/FileManager.ts +5 -5
- package/src/index.ts +6 -10
- package/src/internal.ts +10 -11
- package/src/persistence/PersistenceMetadata.ts +9 -11
- package/src/persistence/idb/IdbService.ts +2 -3
- package/src/persistence/idb/idbPersistence.ts +25 -19
- package/src/persistence/idb/metadata/IdbMetadataDb.ts +3 -3
- package/src/persistence/idb/queries/IdbDocumentDb.ts +31 -17
- package/src/persistence/idb/queries/migration/db.ts +10 -0
- package/src/persistence/idb/util.ts +46 -24
- package/src/persistence/interfaces.ts +21 -12
- package/src/persistence/migration/engine.ts +33 -18
- package/src/persistence/migration/finalize.ts +11 -5
- package/src/persistence/migration/migrate.ts +15 -8
- package/src/persistence/persistence.ts +78 -67
- package/src/queries/FindAllQuery.ts +3 -1
- package/src/queries/FindInfiniteQuery.ts +6 -2
- package/src/queries/FindOneQuery.ts +3 -1
- package/src/queries/FindPageQuery.ts +3 -1
- package/src/sync/Heartbeat.ts +2 -0
- package/src/sync/PresenceManager.ts +10 -7
- package/src/sync/PushPullSync.ts +18 -6
- package/src/sync/Sync.ts +26 -16
- package/src/sync/WebSocketSync.ts +25 -9
- package/src/sync/serviceWorker.ts +4 -6
- package/dist/esm/client/ClientDescriptor.d.ts +0 -87
- package/dist/esm/client/ClientDescriptor.js +0 -133
- package/dist/esm/client/ClientDescriptor.js.map +0 -1
- package/dist/esm/persistence/migration/types.d.ts +0 -3
- package/dist/esm/persistence/migration/types.js +0 -2
- package/dist/esm/persistence/migration/types.js.map +0 -1
- package/src/client/ClientDescriptor.ts +0 -246
- package/src/persistence/migration/types.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/persistence/idb/util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/persistence/idb/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CollectionFilter, DocumentBaseline, FileData, Migration, ObjectIdentifier, Operation } from '@verdant-web/common';
|
|
2
|
-
import { Context,
|
|
2
|
+
import { Context, ContextWithoutPersistence } from '../context/context.js';
|
|
3
3
|
export interface AckInfo {
|
|
4
4
|
globalAckTimestamp: string | null;
|
|
5
5
|
}
|
|
@@ -126,7 +126,7 @@ export interface PersistenceFileDb {
|
|
|
126
126
|
listUnsynced(): Promise<PersistedFileData[]>;
|
|
127
127
|
resetSyncedStatusSince(since: string | null): Promise<void>;
|
|
128
128
|
iterateOverPendingDelete(iterator: (file: PersistedFileData) => void): Promise<void>;
|
|
129
|
-
loadFileContents(file: FileData, ctx: Context): Promise<Blob>;
|
|
129
|
+
loadFileContents(file: FileData, ctx: Omit<Context, 'queries'>): Promise<Blob>;
|
|
130
130
|
getAll(): Promise<PersistedFileData[]>;
|
|
131
131
|
stats(): Promise<{
|
|
132
132
|
size: {
|
|
@@ -136,13 +136,13 @@ export interface PersistenceFileDb {
|
|
|
136
136
|
}>;
|
|
137
137
|
}
|
|
138
138
|
export interface PersistenceNamespace {
|
|
139
|
-
openMetadata(ctx:
|
|
139
|
+
openMetadata(ctx: ContextWithoutPersistence): Promise<PersistenceMetadataDb>;
|
|
140
140
|
/**
|
|
141
141
|
* Open the Documents database according to the schema in the given
|
|
142
142
|
* context. By the time this is called with a version, relevant migrations
|
|
143
143
|
* will have been applied.
|
|
144
144
|
*/
|
|
145
|
-
openDocuments(ctx:
|
|
145
|
+
openDocuments(ctx: ContextWithoutPersistence): Promise<PersistenceDocumentDb>;
|
|
146
146
|
/**
|
|
147
147
|
* Apply a migration to the namespace provided in ctx.
|
|
148
148
|
* This should make any transformations necessary to the
|
|
@@ -153,8 +153,8 @@ export interface PersistenceNamespace {
|
|
|
153
153
|
* This method should also store the new version to persisted
|
|
154
154
|
* metadata, however your implementation chooses to do that.
|
|
155
155
|
*/
|
|
156
|
-
applyMigration(ctx:
|
|
157
|
-
openFiles(ctx:
|
|
156
|
+
applyMigration(ctx: ContextWithoutPersistence, migration: Migration<any>): Promise<void>;
|
|
157
|
+
openFiles(ctx: ContextWithoutPersistence): Promise<PersistenceFileDb>;
|
|
158
158
|
}
|
|
159
159
|
export interface PersistenceImplementation {
|
|
160
160
|
name: string;
|
|
@@ -162,7 +162,7 @@ export interface PersistenceImplementation {
|
|
|
162
162
|
/** Returns a list of all persisted namespaces visible to this app. */
|
|
163
163
|
getNamespaces(): Promise<string[]>;
|
|
164
164
|
/** Deletes all data from a particular namespace. */
|
|
165
|
-
deleteNamespace(namespace: string, ctx:
|
|
165
|
+
deleteNamespace(namespace: string, ctx: ContextWithoutPersistence): Promise<void>;
|
|
166
166
|
/** Gets the schema version of the given namespace */
|
|
167
167
|
getNamespaceVersion(namespace: string): Promise<number>;
|
|
168
168
|
/**
|
|
@@ -170,5 +170,5 @@ export interface PersistenceImplementation {
|
|
|
170
170
|
* overwrite the target namespace such that data and database
|
|
171
171
|
* schema are identical.
|
|
172
172
|
*/
|
|
173
|
-
copyNamespace(from: string, to: string, ctx:
|
|
173
|
+
copyNamespace(from: string, to: string, ctx: ContextWithoutPersistence): Promise<void>;
|
|
174
174
|
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Migration, MigrationEngine } from '@verdant-web/common';
|
|
2
|
+
import { ContextWithoutPersistence } from '../../context/context.js';
|
|
2
3
|
import { PersistenceNamespace } from '../interfaces.js';
|
|
3
|
-
import {
|
|
4
|
-
export declare function getMigrationEngine({ migration, context, ns, }: {
|
|
4
|
+
import { PersistenceMetadata } from '../PersistenceMetadata.js';
|
|
5
|
+
export declare function getMigrationEngine({ migration, context, ns, meta, }: {
|
|
5
6
|
log?: (...args: any[]) => void;
|
|
6
7
|
migration: Migration;
|
|
7
|
-
context:
|
|
8
|
+
context: ContextWithoutPersistence;
|
|
8
9
|
ns: PersistenceNamespace;
|
|
10
|
+
meta: PersistenceMetadata;
|
|
9
11
|
}): Promise<MigrationEngine>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { addFieldDefaults, assert, assignOidsToAllSubObjects, cloneDeep, createOid, diffToPatches, getOid, removeOidPropertiesFromAllSubObjects, } from '@verdant-web/common';
|
|
2
|
-
function getMigrationMutations({ migration, newOids, ctx, }) {
|
|
2
|
+
function getMigrationMutations({ migration, newOids, ctx, meta, }) {
|
|
3
3
|
return migration.allCollections.reduce((acc, collectionName) => {
|
|
4
4
|
acc[collectionName] = {
|
|
5
5
|
put: async (doc, options) => {
|
|
@@ -8,7 +8,7 @@ function getMigrationMutations({ migration, newOids, ctx, }) {
|
|
|
8
8
|
const primaryKey = doc[migration.newSchema.collections[collectionName].primaryKey];
|
|
9
9
|
const oid = createOid(collectionName, primaryKey);
|
|
10
10
|
newOids.push(oid);
|
|
11
|
-
await ctx.time.withMigrationTime(migration.version, () =>
|
|
11
|
+
await ctx.time.withMigrationTime(migration.version, () => meta.insertData({
|
|
12
12
|
operations: ctx.patchCreator.createInitialize(doc, oid, options === null || options === void 0 ? void 0 : options.access),
|
|
13
13
|
isLocal: true,
|
|
14
14
|
}));
|
|
@@ -16,18 +16,18 @@ function getMigrationMutations({ migration, newOids, ctx, }) {
|
|
|
16
16
|
},
|
|
17
17
|
delete: async (id) => {
|
|
18
18
|
const rootOid = createOid(collectionName, id);
|
|
19
|
-
await ctx.time.withMigrationTime(migration.version, () =>
|
|
19
|
+
await ctx.time.withMigrationTime(migration.version, () => meta.deleteDocument(rootOid));
|
|
20
20
|
},
|
|
21
21
|
};
|
|
22
22
|
return acc;
|
|
23
23
|
}, {});
|
|
24
24
|
}
|
|
25
|
-
function getMigrationQueries({ migration, context, documents, }) {
|
|
25
|
+
function getMigrationQueries({ migration, context, documents, meta, }) {
|
|
26
26
|
return migration.oldCollections.reduce((acc, collectionName) => {
|
|
27
27
|
acc[collectionName] = {
|
|
28
28
|
get: async (id) => {
|
|
29
29
|
const oid = createOid(collectionName, id);
|
|
30
|
-
const doc = await
|
|
30
|
+
const doc = await meta.getDocumentSnapshot(oid, {
|
|
31
31
|
// only get the snapshot up to the previous version (newer operations may have synced)
|
|
32
32
|
to: context.time.nowWithVersion(migration.oldSchema.version),
|
|
33
33
|
});
|
|
@@ -40,7 +40,7 @@ function getMigrationQueries({ migration, context, documents, }) {
|
|
|
40
40
|
});
|
|
41
41
|
if (!oid)
|
|
42
42
|
return null;
|
|
43
|
-
const doc = await
|
|
43
|
+
const doc = await meta.getDocumentSnapshot(oid, {
|
|
44
44
|
// only get the snapshot up to the previous version (newer operations may have synced)
|
|
45
45
|
to: context.time.nowWithVersion(migration.oldSchema.version),
|
|
46
46
|
});
|
|
@@ -51,7 +51,7 @@ function getMigrationQueries({ migration, context, documents, }) {
|
|
|
51
51
|
collection: collectionName,
|
|
52
52
|
index: filter,
|
|
53
53
|
});
|
|
54
|
-
const docs = await Promise.all(oids.map((oid) =>
|
|
54
|
+
const docs = await Promise.all(oids.map(async (oid) => meta.getDocumentSnapshot(oid, {
|
|
55
55
|
// only get the snapshot up to the previous version (newer operations may have synced)
|
|
56
56
|
to: context.time.nowWithVersion(migration.oldSchema.version),
|
|
57
57
|
})));
|
|
@@ -61,10 +61,16 @@ function getMigrationQueries({ migration, context, documents, }) {
|
|
|
61
61
|
return acc;
|
|
62
62
|
}, {});
|
|
63
63
|
}
|
|
64
|
-
export async function getMigrationEngine({ migration, context, ns, }) {
|
|
65
|
-
const migrationContext =
|
|
64
|
+
export async function getMigrationEngine({ migration, context, ns, meta, }) {
|
|
65
|
+
const migrationContext = context.cloneWithOptions({
|
|
66
|
+
schema: migration.oldSchema,
|
|
67
|
+
});
|
|
66
68
|
if (migration.oldSchema.version === 0) {
|
|
67
|
-
return getInitialMigrationEngine({
|
|
69
|
+
return getInitialMigrationEngine({
|
|
70
|
+
migration,
|
|
71
|
+
context: migrationContext,
|
|
72
|
+
meta,
|
|
73
|
+
});
|
|
68
74
|
}
|
|
69
75
|
const newOids = new Array();
|
|
70
76
|
const documents = await ns.openDocuments(migrationContext);
|
|
@@ -72,14 +78,16 @@ export async function getMigrationEngine({ migration, context, ns, }) {
|
|
|
72
78
|
migration,
|
|
73
79
|
context: migrationContext,
|
|
74
80
|
documents,
|
|
81
|
+
meta,
|
|
75
82
|
});
|
|
76
83
|
const mutations = getMigrationMutations({
|
|
77
84
|
migration,
|
|
78
85
|
newOids,
|
|
79
86
|
ctx: migrationContext,
|
|
87
|
+
meta,
|
|
80
88
|
});
|
|
81
89
|
const deleteCollection = async (collection) => {
|
|
82
|
-
await
|
|
90
|
+
await meta.deleteCollection(collection);
|
|
83
91
|
};
|
|
84
92
|
const awaitables = new Array();
|
|
85
93
|
const engine = {
|
|
@@ -96,7 +104,7 @@ export async function getMigrationEngine({ migration, context, ns, }) {
|
|
|
96
104
|
// when the snapshots themselves are derived from the same data...)
|
|
97
105
|
// maybe don't use the findAll query, and instead go a level
|
|
98
106
|
// lower to retain access to lower level data here?
|
|
99
|
-
const authz = await
|
|
107
|
+
const authz = await meta.getDocumentAuthz(rootOid);
|
|
100
108
|
const original = cloneDeep(doc);
|
|
101
109
|
// @ts-ignore - excessive type resolution
|
|
102
110
|
const newValue = await strategy(doc);
|
|
@@ -119,7 +127,7 @@ export async function getMigrationEngine({ migration, context, ns, }) {
|
|
|
119
127
|
authz,
|
|
120
128
|
});
|
|
121
129
|
if (patches.length > 0) {
|
|
122
|
-
await
|
|
130
|
+
await meta.insertData({
|
|
123
131
|
operations: patches,
|
|
124
132
|
isLocal: true,
|
|
125
133
|
});
|
|
@@ -136,7 +144,7 @@ export async function getMigrationEngine({ migration, context, ns, }) {
|
|
|
136
144
|
};
|
|
137
145
|
return engine;
|
|
138
146
|
}
|
|
139
|
-
function getInitialMigrationEngine({ migration, context, }) {
|
|
147
|
+
function getInitialMigrationEngine({ migration, context, meta, }) {
|
|
140
148
|
const newOids = new Array();
|
|
141
149
|
const queries = new Proxy({}, {
|
|
142
150
|
get() {
|
|
@@ -147,6 +155,7 @@ function getInitialMigrationEngine({ migration, context, }) {
|
|
|
147
155
|
migration,
|
|
148
156
|
newOids,
|
|
149
157
|
ctx: context,
|
|
158
|
+
meta,
|
|
150
159
|
});
|
|
151
160
|
const engine = {
|
|
152
161
|
log: context.log,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../src/persistence/migration/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAMN,gBAAgB,EAChB,MAAM,EACN,yBAAyB,EACzB,SAAS,EACT,SAAS,EACT,aAAa,EACb,MAAM,EACN,oCAAoC,GACpC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../src/persistence/migration/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Migration, MigrationEngine } from '@verdant-web/common';
|
|
2
|
+
import { ContextWithoutPersistence } from '../../context/context.js';
|
|
2
3
|
import { PersistenceDocumentDb } from '../interfaces.js';
|
|
3
|
-
import {
|
|
4
|
-
export declare function finalizeMigration({ ctx, documents, migration, engine, }: {
|
|
5
|
-
ctx:
|
|
4
|
+
import { PersistenceMetadata } from '../PersistenceMetadata.js';
|
|
5
|
+
export declare function finalizeMigration({ ctx, documents, migration, meta, engine, }: {
|
|
6
|
+
ctx: ContextWithoutPersistence;
|
|
6
7
|
documents: PersistenceDocumentDb;
|
|
8
|
+
meta: PersistenceMetadata;
|
|
7
9
|
migration: Migration<any>;
|
|
8
10
|
engine: MigrationEngine;
|
|
9
11
|
}): Promise<void>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { decomposeOid, getOidRoot, } from '@verdant-web/common';
|
|
2
|
-
export async function finalizeMigration({ ctx, documents, migration, engine, }) {
|
|
2
|
+
export async function finalizeMigration({ ctx, documents, migration, meta, engine, }) {
|
|
3
3
|
/**
|
|
4
4
|
* In cases where operations from the future have been
|
|
5
5
|
* received by this client, we may have created entire
|
|
@@ -19,6 +19,7 @@ export async function finalizeMigration({ ctx, documents, migration, engine, })
|
|
|
19
19
|
currentVersion: migration.oldSchema.version,
|
|
20
20
|
newVersion: migration.newSchema.version,
|
|
21
21
|
ctx,
|
|
22
|
+
meta,
|
|
22
23
|
});
|
|
23
24
|
// once the schema is ready, we can write back the migrated documents
|
|
24
25
|
for (const collection of migration.allCollections) {
|
|
@@ -33,7 +34,7 @@ export async function finalizeMigration({ ctx, documents, migration, engine, })
|
|
|
33
34
|
}));
|
|
34
35
|
const snapshots = await Promise.all(oids.map(async (oid) => {
|
|
35
36
|
try {
|
|
36
|
-
const snap = await
|
|
37
|
+
const snap = await meta.getDocumentSnapshot(oid);
|
|
37
38
|
return [oid, snap];
|
|
38
39
|
}
|
|
39
40
|
catch (e) {
|
|
@@ -60,12 +61,12 @@ export async function finalizeMigration({ ctx, documents, migration, engine, })
|
|
|
60
61
|
* that were not applied to their queryable snapshots because they were in the
|
|
61
62
|
* future. These documents need to be refreshed in storage.
|
|
62
63
|
*/
|
|
63
|
-
async function getDocsWithUnappliedMigrations({ currentVersion, newVersion: _, ctx, }) {
|
|
64
|
+
async function getDocsWithUnappliedMigrations({ currentVersion, newVersion: _, ctx, meta, }) {
|
|
64
65
|
// scan for all operations in metadata after the current version.
|
|
65
66
|
// this could be more efficient if also filtering below or equal newVersion but
|
|
66
67
|
// that seems so unlikely in practice...
|
|
67
68
|
const unappliedOperations = [];
|
|
68
|
-
await
|
|
69
|
+
await meta.iterateAllOperations((op) => {
|
|
69
70
|
unappliedOperations.push(op);
|
|
70
71
|
}, {
|
|
71
72
|
from: ctx.time.zeroWithVersion(currentVersion + 1),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finalize.js","sourceRoot":"","sources":["../../../../src/persistence/migration/finalize.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,UAAU,GAGV,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"finalize.js","sourceRoot":"","sources":["../../../../src/persistence/migration/finalize.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { Migration } from '@verdant-web/common';
|
|
2
|
+
import { ContextWithoutPersistence } from '../../context/context.js';
|
|
2
3
|
import { PersistenceNamespace } from '../interfaces.js';
|
|
3
|
-
import {
|
|
4
|
-
export declare function migrate({ context, version, }: {
|
|
5
|
-
context:
|
|
4
|
+
import { PersistenceMetadata } from '../PersistenceMetadata.js';
|
|
5
|
+
export declare function migrate({ context, version, meta, }: {
|
|
6
|
+
context: ContextWithoutPersistence;
|
|
7
|
+
meta: PersistenceMetadata;
|
|
6
8
|
version: number;
|
|
7
9
|
}): Promise<void>;
|
|
8
|
-
export declare function runMigrations({ context, toRun, ns, }: {
|
|
9
|
-
context:
|
|
10
|
+
export declare function runMigrations({ context, toRun, ns, meta, }: {
|
|
11
|
+
context: ContextWithoutPersistence;
|
|
10
12
|
toRun: Migration<any>[];
|
|
11
13
|
ns: PersistenceNamespace;
|
|
14
|
+
meta: PersistenceMetadata;
|
|
12
15
|
}): Promise<void>;
|
|
@@ -2,7 +2,7 @@ import { ShutdownHandler } from '../../context/ShutdownHandler.js';
|
|
|
2
2
|
import { getMigrationEngine } from './engine.js';
|
|
3
3
|
import { finalizeMigration } from './finalize.js';
|
|
4
4
|
import { getMigrationPath } from './paths.js';
|
|
5
|
-
export async function migrate({ context, version, }) {
|
|
5
|
+
export async function migrate({ context, version, meta, }) {
|
|
6
6
|
const ns = await context.persistence.openNamespace(context.namespace, context);
|
|
7
7
|
await acquireLock(context.namespace, async () => {
|
|
8
8
|
const currentVersion = await context.persistence.getNamespaceVersion(context.namespace);
|
|
@@ -14,7 +14,7 @@ export async function migrate({ context, version, }) {
|
|
|
14
14
|
});
|
|
15
15
|
if (toRun.length > 0) {
|
|
16
16
|
context.log('debug', 'Migrations to run:', toRun.map((m) => m.version));
|
|
17
|
-
await runMigrations({ context, ns, toRun });
|
|
17
|
+
await runMigrations({ context, ns, toRun, meta });
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
}
|
|
@@ -27,22 +27,27 @@ async function acquireLock(namespace, procedure) {
|
|
|
27
27
|
await procedure();
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
export async function runMigrations({ context, toRun, ns, }) {
|
|
30
|
+
export async function runMigrations({ context, toRun, ns, meta, }) {
|
|
31
31
|
// disable rebasing for the duration of migrations
|
|
32
32
|
context.pauseRebasing = true;
|
|
33
33
|
// now the fun part
|
|
34
34
|
for (const migration of toRun) {
|
|
35
35
|
context.log('info', `🚀 Running migration v${migration.oldSchema.version} -> v${migration.newSchema.version}`);
|
|
36
|
-
const migrationContext =
|
|
36
|
+
const migrationContext = context.cloneWithOptions({
|
|
37
|
+
schema: migration.oldSchema,
|
|
38
|
+
persistenceShutdownHandler: new ShutdownHandler(context.log),
|
|
39
|
+
});
|
|
37
40
|
// this will only write to our metadata store via operations!
|
|
38
41
|
const engine = await getMigrationEngine({
|
|
39
42
|
migration,
|
|
40
43
|
context: migrationContext,
|
|
41
44
|
ns,
|
|
45
|
+
meta,
|
|
42
46
|
});
|
|
43
47
|
try {
|
|
44
48
|
context.log('debug', 'Migrating data', migrationContext.namespace, 'from version', migration.oldSchema.version, 'to version', migration.newSchema.version);
|
|
45
49
|
await migration.migrate(engine);
|
|
50
|
+
context.log('debug', 'Awaiting remaining migration tasks');
|
|
46
51
|
// wait on any out-of-band async operations to complete
|
|
47
52
|
await Promise.all(engine.awaitables);
|
|
48
53
|
}
|
|
@@ -66,6 +71,7 @@ export async function runMigrations({ context, toRun, ns, }) {
|
|
|
66
71
|
migration,
|
|
67
72
|
engine,
|
|
68
73
|
documents: upgradedDocuments,
|
|
74
|
+
meta,
|
|
69
75
|
});
|
|
70
76
|
await upgradedDocuments.close();
|
|
71
77
|
migrationContext.log('debug', `Migration of ${migrationContext.namespace} complete.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../../src/persistence/migration/migrate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../../src/persistence/migration/migrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import { Context
|
|
1
|
+
import { Context } from '../context/context.js';
|
|
2
2
|
import { ExportedData } from './interfaces.js';
|
|
3
|
-
|
|
3
|
+
import { PersistenceFiles } from './PersistenceFiles.js';
|
|
4
|
+
import { PersistenceMetadata } from './PersistenceMetadata.js';
|
|
5
|
+
import { PersistenceDocuments } from './PersistenceQueries.js';
|
|
6
|
+
export declare function initializePersistence(ctx: Context): Promise<{
|
|
7
|
+
meta: PersistenceMetadata;
|
|
8
|
+
files: PersistenceFiles;
|
|
9
|
+
documents: PersistenceDocuments;
|
|
10
|
+
}>;
|
|
4
11
|
export declare function importPersistence(ctx: Context, exportedData: ExportedData): Promise<void>;
|