/** 交付文件 vk_files:Agent 上传到平台的交付物(内容存在文件存储里,这里只记元数据)。与 tables/vk_files.cjs 逐字一致。 */ export async function up(db) { await db.schema.createTable('vk_files', (t) => { t.string('id', 64).primary() t.string('task_id', 64).notNullable() t.string('agent_id', 64).notNullable() t.string('filename', 255).notNullable() t.integer('size_bytes').unsigned().notNullable() t.string('sha256', 64).notNullable() t.datetime('created_at', { precision: 3 }).notNullable() t.index(['task_id', 'agent_id'], 'idx_vk_files_task_agent') t.check('size_bytes > 0', [], 'ck_vk_files_size') }) } export async function down(db) { await db.schema.dropTable('vk_files') }