Source: config/migrations/20260813-runner-object-types.js

export const id = '20260813-runner-object-types';
export const name = 'Add runner to ObjectBase.Type enum';

/**
 * Runner objects live in ObjectBase (topology, no versioned runtime state).
 * `deployment`/`deploymentEndpoint` literals were dropped with the members
 * runtime layer (see 20260907-runner-companion.js) — the runtime moved to the
 * session (ide-server).
 */
export const migrate = async ({ query }) => {
    await query('SET @@system_versioning_alter_history = 1', []);
    await query(`
        ALTER TABLE ObjectBase
        MODIFY COLUMN \`Type\` enum(
            'user','person','guest','extern','group','ggroup','family','historic',
            'list','dlist','email','entry','visible','changeable','include','exclude','intersect',
            'job','function','achievement','achievementT','action','actionT',
            'event','eventT','eventFunctionT','eventJob','eventJobT',
            'location','locationT','locationC','gentry',
            'account','fiscalyear','costcenter','document',
            'accountingVisible','accountingChangeable',
            'project','repositoryShare','directoryShare',
            'runner'
        ) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL
    `, []);
    await query('SET @@system_versioning_alter_history = 0', []);
};