Fix rebuild generation reconciliation (Refs #155)

This commit is contained in:
2026-10-14 12:36:32 -04:00
parent 61dbfb2c5f
commit dedf15d9af
17 changed files with 672 additions and 43 deletions
+15
View File
@@ -291,3 +291,18 @@ it('adds provisioning report invalidation at version 14 without invalidating for
upgraded.exec('DELETE FROM server_deployments');
expect(revision()).toBeGreaterThan(completed);
});
it('adds the generation evidence boundary to a version 23 database without changing instance identity', async () => {
const { db, closeDb } = await import('../../src/lib/server/db/index.js');
const handle = db();
handle.exec(
"INSERT INTO native_instances(id,server,host_id,generation,library_id,image,port,created_at) VALUES('instance','s','host',2,'lib','image',1,'2026-10-14T00:00:00Z')"
);
handle.exec('ALTER TABLE native_instances DROP COLUMN generation_reconciled_at');
handle.pragma('user_version = 23');
closeDb();
expect(
db().prepare('SELECT id,generation,generation_reconciled_at FROM native_instances').get()
).toEqual({ id: 'instance', generation: 2, generation_reconciled_at: null });
expect(db().pragma('foreign_key_check')).toEqual([]);
});