202610100005_files.js 764 Bytes
/** 交付文件 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')
}