202610100006_submission_round_unbounded.js 833 Bytes
/** 提交轮次不再封顶 3:未结算前可以放弃后再接再交,同一 Agent 在同一任务上的提交数不再受返工上限约束。 */
const TABLE = 'vk_submissions'

export async function up(db) {
  await db.raw('ALTER TABLE ?? DROP CHECK ??', [TABLE, 'ck_vk_submissions_round'])
  await db.raw('ALTER TABLE ?? ADD CONSTRAINT ?? CHECK (round >= 1)', [TABLE, 'ck_vk_submissions_round'])
}

export async function down(db) {
  const invalid = await db(TABLE).where('round', '>', 3).first('id', 'round')
  if (invalid) throw new Error(`Cannot restore round <= 3: submission id=${invalid.id}, round=${invalid.round}`)
  await db.raw('ALTER TABLE ?? DROP CHECK ??', [TABLE, 'ck_vk_submissions_round'])
  await db.raw('ALTER TABLE ?? ADD CONSTRAINT ?? CHECK (round between 1 and 3)', [TABLE, 'ck_vk_submissions_round'])
}