/**
 * 작업보고서 부적합에 카테고리/아이템 컬럼 추가
 *
 * 변경사항:
 * 1. work_report_defects 테이블에 category_id, item_id 컬럼 추가
 * 2. issue_report_categories, issue_report_items 테이블 참조
 */

exports.up = function(knex) {
  return knex.schema
    .alterTable('work_report_defects', function(table) {
      // 카테고리 ID 추가
      table.integer('category_id').unsigned().nullable()
        .comment('issue_report_categories의 category_id (직접 입력 시)')
        .after('issue_report_id');

      // 아이템 ID 추가
      table.integer('item_id').unsigned().nullable()
        .comment('issue_report_items의 item_id (직접 입력 시)')
        .after('category_id');

      // 외래키 추가
      table.foreign('category_id')
        .references('category_id')
        .inTable('issue_report_categories')
        .onDelete('SET NULL');

      table.foreign('item_id')
        .references('item_id')
        .inTable('issue_report_items')
        .onDelete('SET NULL');
    });
};

exports.down = function(knex) {
  return knex.schema
    .alterTable('work_report_defects', function(table) {
      table.dropForeign('category_id');
      table.dropForeign('item_id');
      table.dropColumn('category_id');
      table.dropColumn('item_id');
    });
};
