diff --git a/hub/src/store/migration-v24.test.ts b/hub/src/store/migration-v24.test.ts index 939926a3..c22a1f20 100644 --- a/hub/src/store/migration-v24.test.ts +++ b/hub/src/store/migration-v24.test.ts @@ -64,6 +64,9 @@ describe('schema migration v23 to v26', () => { new Store(dbPath).close() const legacy = new Database(dbPath) legacy.exec(` + -- V26/V27 indexes depend on delivery_state and did not exist in V24. + DROP INDEX idx_messages_immediate_queued; + DROP INDEX idx_messages_future_scheduled_queued; ALTER TABLE messages DROP COLUMN delivery_state; PRAGMA user_version = 24; `) @@ -73,8 +76,13 @@ describe('schema migration v23 to v26', () => { const internalDb = (migrated as unknown as { db: Database }).db const columns = internalDb.prepare('PRAGMA table_info(messages)').all() as Array<{ name: string }> const version = internalDb.prepare('PRAGMA user_version').get() as { user_version: number } + const indexes = internalDb.prepare('PRAGMA index_list(messages)').all() as Array<{ name: string }> expect(columns.some((col) => col.name === 'delivery_state')).toBe(true) expect(version.user_version).toBe(28) + expect(indexes.map((index) => index.name)).toEqual(expect.arrayContaining([ + 'idx_messages_immediate_queued', + 'idx_messages_future_scheduled_queued' + ])) migrated.close() }) })