@@ -149,14 +149,7 @@ export default class MigrateAccountIssuer extends Command {
149149 // read in its legacy shape, `issuer` included, which is the very column
150150 // the registered schema no longer declares, so the driver (the path the
151151 // engine leaves to host code) is the reader this inventory needs.
152- const driver = engine ?. getDriverForObject ?.( SYS_ACCOUNT ) ;
153- if ( ! driver || typeof driver . find !== 'function' ) {
154- throw new Error (
155- `No driver serves ${ SYS_ACCOUNT } on this stack, so the table cannot be enumerated. ` +
156- 'Refusing rather than reporting an unread table as clean.' ,
157- ) ;
158- }
159-
152+ //
160153 // [#21552] A database with no `sys_account` table holds no account, so no
161154 // two rows collide: the probe reads it as no rows. The read is not
162155 // avoided, measured: `sys_account` is not a registered object on this
@@ -169,6 +162,12 @@ export default class MigrateAccountIssuer extends Command {
169162 let noAccountTable = false ;
170163 const readView : Parameters < typeof probeAccountIdentityCollisions > [ 0 ] = {
171164 find : async ( object , query ) => {
165+ // No driver is not an empty table: the probe turns this into its
166+ // refusal, never into a clean report.
167+ const driver = engine ?. getDriverForObject ?.( object ) ;
168+ if ( ! driver || typeof driver . find !== 'function' ) {
169+ throw new Error ( `no driver serves ${ object } on this stack` ) ;
170+ }
172171 try {
173172 return await driver . find ( object , query ) ;
174173 } catch ( error ) {
0 commit comments