edinburgh 0.1.3 → 0.4.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../src/indexes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../src/indexes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * migrate-edinburgh CLI tool
4
+ *
5
+ * Runs database migrations: upgrades all rows to the latest schema version,
6
+ * converts old primary indices, and cleans up orphaned secondary indices.
7
+ *
8
+ * Usage:
9
+ * npx migrate-edinburgh --import ./src/models.ts [options]
10
+ *
11
+ * Options:
12
+ * --import <path> Path to the module that registers all models (required)
13
+ * --db <path> Database directory (default: .edinburgh)
14
+ * --tables <names> Comma-separated list of table names to migrate
15
+ * --batch-size <n> Number of rows per transaction batch (default: 500)
16
+ * --no-convert Skip converting old primary indices
17
+ * --no-cleanup Skip deleting orphaned secondary indices
18
+ * --no-upgrade Skip upgrading rows to latest version
19
+ */
20
+ export {};
@@ -0,0 +1,122 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * migrate-edinburgh CLI tool
4
+ *
5
+ * Runs database migrations: upgrades all rows to the latest schema version,
6
+ * converts old primary indices, and cleans up orphaned secondary indices.
7
+ *
8
+ * Usage:
9
+ * npx migrate-edinburgh --import ./src/models.ts [options]
10
+ *
11
+ * Options:
12
+ * --import <path> Path to the module that registers all models (required)
13
+ * --db <path> Database directory (default: .edinburgh)
14
+ * --tables <names> Comma-separated list of table names to migrate
15
+ * --batch-size <n> Number of rows per transaction batch (default: 500)
16
+ * --no-convert Skip converting old primary indices
17
+ * --no-cleanup Skip deleting orphaned secondary indices
18
+ * --no-upgrade Skip upgrading rows to latest version
19
+ */
20
+ import { runMigration } from './migrate.js';
21
+ function parseArgs(args) {
22
+ let importPath = '';
23
+ const options = {};
24
+ for (let i = 0; i < args.length; i++) {
25
+ switch (args[i]) {
26
+ case '--import':
27
+ importPath = args[++i];
28
+ break;
29
+ case '--db':
30
+ options.dbDir = args[++i];
31
+ break;
32
+ case '--tables':
33
+ options.tables = args[++i].split(',').map(s => s.trim());
34
+ break;
35
+ case '--no-convert':
36
+ options.convertOldPrimaries = false;
37
+ break;
38
+ case '--no-cleanup':
39
+ options.deleteOrphanedIndexes = false;
40
+ break;
41
+ case '--no-upgrade':
42
+ options.upgradeVersions = false;
43
+ break;
44
+ default:
45
+ if (args[i].startsWith('-')) {
46
+ console.error(`Unknown option: ${args[i]}`);
47
+ process.exit(1);
48
+ }
49
+ }
50
+ }
51
+ if (!importPath) {
52
+ console.error('Usage: npx migrate-edinburgh --import <path> [options]');
53
+ console.error(' --import <path> Module that registers all models (required)');
54
+ console.error(' --db <path> Database directory (default: .edinburgh)');
55
+ console.error(' --tables <names> Comma-separated table names');
56
+ console.error(' --no-convert Skip old primary conversion');
57
+ console.error(' --no-cleanup Skip orphaned index cleanup');
58
+ console.error(' --no-upgrade Skip version upgrades');
59
+ process.exit(1);
60
+ }
61
+ return { importPath, options };
62
+ }
63
+ async function main() {
64
+ const nodeArgs = process.argv.slice(2);
65
+ const { importPath, options } = parseArgs(nodeArgs);
66
+ // Initialize DB if specified
67
+ if (options.dbDir) {
68
+ const E = await import('./edinburgh.js');
69
+ E.init(options.dbDir);
70
+ }
71
+ // Import user's models module (this registers all models)
72
+ const resolvedPath = importPath.startsWith('.') || importPath.startsWith('/')
73
+ ? (await import('node:path')).resolve(process.cwd(), importPath)
74
+ : importPath;
75
+ await import(resolvedPath);
76
+ let lastPhase = '';
77
+ options.onProgress = (info) => {
78
+ if (info.phase !== lastPhase) {
79
+ if (lastPhase)
80
+ console.log();
81
+ lastPhase = info.phase;
82
+ }
83
+ const suffix = info.table ? ` [${info.table}]` : '';
84
+ process.stdout.write(`\r ${info.phase}: ${info.processed} upgraded${suffix} `);
85
+ };
86
+ console.log('Starting migration...');
87
+ const result = await runMigration(options);
88
+ console.log('\n');
89
+ // Report results
90
+ if (Object.keys(result.secondaries).length > 0) {
91
+ console.log('Upgraded rows:');
92
+ for (const [table, count] of Object.entries(result.secondaries)) {
93
+ console.log(` ${table}: ${count}`);
94
+ }
95
+ }
96
+ if (Object.keys(result.primaries).length > 0) {
97
+ console.log('Converted old primary rows:');
98
+ for (const [table, count] of Object.entries(result.primaries)) {
99
+ console.log(` ${table}: ${count}`);
100
+ }
101
+ }
102
+ if (Object.keys(result.conversionFailures).length > 0) {
103
+ console.log('Conversion failures:');
104
+ for (const [table, failures] of Object.entries(result.conversionFailures)) {
105
+ for (const [reason, count] of Object.entries(failures)) {
106
+ console.log(` ${table}: ${count} (${reason})`);
107
+ }
108
+ }
109
+ }
110
+ if (result.orphaned > 0) {
111
+ console.log(`Deleted ${result.orphaned} orphaned index entries`);
112
+ }
113
+ if (Object.keys(result.secondaries).length === 0 && Object.keys(result.primaries).length === 0 && result.orphaned === 0) {
114
+ console.log('No migration needed - database is up to date.');
115
+ }
116
+ console.log('Done.');
117
+ }
118
+ main().catch(e => {
119
+ console.error('Migration failed:', e);
120
+ process.exit(1);
121
+ });
122
+ //# sourceMappingURL=migrate-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-cli.js","sourceRoot":"","sources":["../../src/migrate-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export interface MigrationOptions {
2
+ /** Limit migration to specific table names. */
3
+ tables?: string[];
4
+ /** Whether to convert old primary indices for known tables (default: true). */
5
+ convertOldPrimaries?: boolean;
6
+ /** Whether to delete orphaned secondary/unique indices (default: true). */
7
+ deleteOrphanedIndexes?: boolean;
8
+ /** Whether to upgrade rows to the latest version (default: true). */
9
+ upgradeVersions?: boolean;
10
+ /** Progress callback. */
11
+ onProgress?: (info: ProgressInfo) => void;
12
+ }
13
+ export interface ProgressInfo {
14
+ phase: string;
15
+ processed: number;
16
+ total?: number;
17
+ table?: string;
18
+ }
19
+ export interface MigrationResult {
20
+ /** Per-table stats for row upgrades. */
21
+ secondaries: Record<string, number>;
22
+ /** Per-table stats for old primary conversions. */
23
+ primaries: Record<string, number>;
24
+ /** Per-table conversion failure counts by reason. */
25
+ conversionFailures: Record<string, Record<string, number>>;
26
+ /** Number of orphaned index entries deleted. */
27
+ orphaned: number;
28
+ }
29
+ /**
30
+ * Run database migration: upgrade all rows to the latest schema version,
31
+ * convert old primary indices, and clean up orphaned secondary indices.
32
+ */
33
+ export declare function runMigration(options?: MigrationOptions): Promise<MigrationResult>;
@@ -0,0 +1,225 @@
1
+ import * as lowlevel from "olmdb/lowlevel";
2
+ import DataPack from "./datapack.js";
3
+ import { modelRegistry, currentTxn } from "./models.js";
4
+ import { dbDel, toBuffer } from "./utils.js";
5
+ import { deserializeType } from "./types.js";
6
+ import { transact } from "./edinburgh.js";
7
+ const INDEX_ID_PREFIX = -2;
8
+ /**
9
+ * Iterate over all rows for a given index ID prefix in batches,
10
+ * calling processBatch for each row within a transaction.
11
+ */
12
+ async function forEachRow(indexId, processBatch) {
13
+ let done = false;
14
+ let lastKey;
15
+ const prefixPack = new DataPack().write(indexId);
16
+ const endBuf = toBuffer(prefixPack.clone(true).increment().toUint8Array());
17
+ while (!done) {
18
+ await transact(() => {
19
+ const txn = currentTxn();
20
+ let startBuf;
21
+ if (lastKey) {
22
+ const resumePack = new DataPack(lastKey).increment();
23
+ if (!resumePack) {
24
+ done = true;
25
+ return;
26
+ }
27
+ startBuf = toBuffer(resumePack.toUint8Array());
28
+ }
29
+ else {
30
+ startBuf = toBuffer(prefixPack.toUint8Array());
31
+ }
32
+ const iteratorId = lowlevel.createIterator(txn.id, startBuf, endBuf, false);
33
+ const batchStart = Date.now();
34
+ let batchCount = 0;
35
+ try {
36
+ while (true) {
37
+ const raw = lowlevel.readIterator(iteratorId);
38
+ if (!raw) {
39
+ done = true;
40
+ break;
41
+ }
42
+ const keyBuf = new Uint8Array(raw.key);
43
+ lastKey = keyBuf;
44
+ processBatch(txn, keyBuf, new Uint8Array(raw.value));
45
+ if (++batchCount >= 4096 || Date.now() - batchStart >= 2000)
46
+ break;
47
+ }
48
+ }
49
+ finally {
50
+ lowlevel.closeIterator(iteratorId);
51
+ }
52
+ });
53
+ }
54
+ }
55
+ /**
56
+ * Run database migration: upgrade all rows to the latest schema version,
57
+ * convert old primary indices, and clean up orphaned secondary indices.
58
+ */
59
+ export async function runMigration(options = {}) {
60
+ // Ensure any pending model/index inits are completed before building index maps
61
+ await transact(() => { });
62
+ const convertOldPrimaries = options.convertOldPrimaries ?? true;
63
+ const deleteOrphanedIndexes = options.deleteOrphanedIndexes ?? true;
64
+ const upgradeVersions = options.upgradeVersions ?? true;
65
+ const onProgress = options.onProgress;
66
+ const result = {
67
+ secondaries: {},
68
+ primaries: {},
69
+ conversionFailures: {},
70
+ orphaned: 0,
71
+ };
72
+ // Build maps of known index IDs
73
+ const knownIndexIds = new Set();
74
+ const primaryByIndexId = new Map();
75
+ for (const model of Object.values(modelRegistry)) {
76
+ if (options.tables && !options.tables.includes(model.tableName))
77
+ continue;
78
+ const primary = model._primary;
79
+ knownIndexIds.add(primary._indexId);
80
+ primaryByIndexId.set(primary._indexId, { model, primary });
81
+ for (const sec of model._secondaries || []) {
82
+ knownIndexIds.add(sec._indexId);
83
+ }
84
+ }
85
+ // Scan all index definitions in the DB to find old/orphaned ones
86
+ const allIndexDefs = [];
87
+ await forEachRow(INDEX_ID_PREFIX, (_txn, keyBuf, valueBuf) => {
88
+ const kb = new DataPack(keyBuf);
89
+ kb.readNumber(); // skip INDEX_ID_PREFIX
90
+ const tableName = kb.readString();
91
+ const typeName = kb.readString();
92
+ const fieldNames = [];
93
+ const fieldTypes = [];
94
+ // Read field names and types (may be followed by separator + pk fields for non-primary indexes)
95
+ while (kb.readAvailable()) {
96
+ const name = kb.read();
97
+ if (typeof name !== 'string')
98
+ break; // 'undefined' separator before pk fields
99
+ fieldNames.push(name);
100
+ fieldTypes.push(deserializeType(kb, 0));
101
+ }
102
+ const id = new DataPack(valueBuf).readNumber();
103
+ allIndexDefs.push({ id, tableName, typeName, fieldNames, fieldTypes });
104
+ });
105
+ // Phase 1: Upgrade existing rows to latest version
106
+ if (upgradeVersions) {
107
+ for (const [indexId, { model, primary }] of primaryByIndexId) {
108
+ let upgraded = 0;
109
+ const migrateFn = model.migrate;
110
+ const secondaries = model._secondaries || [];
111
+ await forEachRow(indexId, (txn, keyBuf, valueBuf) => {
112
+ const valuePack = new DataPack(valueBuf);
113
+ const version = valuePack.readNumber();
114
+ if (version === primary._currentVersion)
115
+ return; // Already current
116
+ const versionInfo = primary._loadVersionInfo(txn.id, version);
117
+ // Deserialize pre-migrate values from key + old-format value
118
+ const record = {};
119
+ const keyPack = new DataPack(keyBuf);
120
+ keyPack.readNumber(); // skip indexId
121
+ for (const [name, type] of primary._fieldTypes.entries()) {
122
+ record[name] = type.deserialize(keyPack);
123
+ }
124
+ for (const [name, type] of versionInfo.nonKeyFields.entries()) {
125
+ record[name] = type.deserialize(valuePack);
126
+ }
127
+ // Deep-copy pre-migrate values (if migrate exists), then run migrate
128
+ const preMigrate = migrateFn ? structuredClone(record) : undefined;
129
+ if (migrateFn)
130
+ migrateFn(record);
131
+ // Handle secondaries (primary is left as-is for lazy migration on read)
132
+ for (const sec of secondaries) {
133
+ if (!versionInfo.secondaryKeys.has(sec._signature)) {
134
+ // New secondary, write entry
135
+ sec._write(txn, keyBuf, record);
136
+ upgraded++;
137
+ }
138
+ else if (preMigrate) {
139
+ // Existing secondary, update if migrate changed any of its fields
140
+ for (const [field, type] of sec._fieldTypes.entries()) {
141
+ if (!type.equals(preMigrate[field], record[field])) {
142
+ sec._delete(txn, keyBuf, preMigrate);
143
+ sec._write(txn, keyBuf, record);
144
+ upgraded++;
145
+ break;
146
+ }
147
+ }
148
+ }
149
+ }
150
+ });
151
+ onProgress?.({ phase: 'secondaries', processed: upgraded, table: model.tableName });
152
+ if (upgraded > 0)
153
+ result.secondaries[model.tableName] = upgraded;
154
+ }
155
+ }
156
+ // Phase 2: Convert old primary indices with known table names
157
+ if (convertOldPrimaries) {
158
+ for (const oldDef of allIndexDefs) {
159
+ if (oldDef.typeName !== 'primary')
160
+ continue;
161
+ if (knownIndexIds.has(oldDef.id))
162
+ continue; // Known index, skip
163
+ const model = modelRegistry[oldDef.tableName];
164
+ if (!model)
165
+ continue; // Unknown table
166
+ if (options.tables && !options.tables.includes(oldDef.tableName))
167
+ continue;
168
+ let converted = 0;
169
+ const failures = {};
170
+ await forEachRow(oldDef.id, (txn, keyBuf) => {
171
+ let instance;
172
+ try {
173
+ // Deserialize old key
174
+ const keyPack = new DataPack(keyBuf);
175
+ keyPack.readNumber(); // skip old index id
176
+ const record = {};
177
+ for (let i = 0; i < oldDef.fieldNames.length; i++) {
178
+ record[oldDef.fieldNames[i]] = oldDef.fieldTypes[i].deserialize(keyPack);
179
+ }
180
+ // Run migrate
181
+ const migrateFn = model.migrate;
182
+ if (migrateFn)
183
+ migrateFn(record);
184
+ // _write validates, checks duplicates, writes primary + secondaries
185
+ instance = new model(record, txn);
186
+ instance._write(txn);
187
+ dbDel(txn.id, keyBuf);
188
+ converted++;
189
+ }
190
+ catch (e) {
191
+ if (e.code === 'UNIQUE_CONSTRAINT') {
192
+ failures['duplicate_key'] = (failures['duplicate_key'] || 0) + 1;
193
+ }
194
+ else {
195
+ failures['error'] = (failures['error'] || 0) + 1;
196
+ }
197
+ }
198
+ finally {
199
+ if (instance)
200
+ txn.instances.delete(instance);
201
+ }
202
+ });
203
+ onProgress?.({ phase: 'primaries', processed: converted, table: oldDef.tableName });
204
+ if (converted > 0)
205
+ result.primaries[oldDef.tableName] = converted;
206
+ if (Object.keys(failures).length > 0) {
207
+ result.conversionFailures[oldDef.tableName] = failures;
208
+ }
209
+ }
210
+ }
211
+ // Phase 3: Delete orphaned secondary/unique index entries
212
+ if (deleteOrphanedIndexes) {
213
+ for (const def of allIndexDefs) {
214
+ if (knownIndexIds.has(def.id) || def.typeName === 'primary')
215
+ continue;
216
+ await forEachRow(def.id, (txn, keyBuf) => {
217
+ dbDel(txn.id, keyBuf);
218
+ result.orphaned++;
219
+ });
220
+ onProgress?.({ phase: 'orphaned', processed: result.orphaned });
221
+ }
222
+ }
223
+ return result;
224
+ }
225
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/migrate.ts"],"names":[],"mappings":"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"}