Files
tk-factory-services/system1-factory/api/db/migrations/20260126010002_create_tasks.js
Hyungi Ahn ec755ed52f refactor: System1 API 인증 체계 SSO 전환 및 마이그레이션 정비
- SSO JWT 인증으로 전환 (auth.service.js)
- worker_id → user_id 마이그레이션 완료
- departments 연동, CORS 미들웨어 정리
- 불필요 파일 삭제 (tk_database.db, visitRequestController.js)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 23:18:00 +09:00

36 lines
1.1 KiB
JavaScript

/**
* 작업 테이블 생성 (공정=work_types에 속함)
*
* @param {import('knex').Knex} knex
*/
exports.up = function(knex) {
return knex.schema.createTable('tasks', function(table) {
table.increments('task_id').primary().comment('작업 ID');
table.integer('work_type_id').nullable().comment('공정 ID (work_types 참조)');
table.string('task_name', 255).notNullable().comment('작업명');
table.text('description').nullable().comment('작업 설명');
table.boolean('is_active').defaultTo(true).comment('활성화 여부');
table.timestamp('created_at').defaultTo(knex.fn.now()).comment('생성일시');
table.timestamp('updated_at').defaultTo(knex.fn.now()).comment('수정일시');
// 외래키 (work_types 테이블 참조)
table.foreign('work_type_id')
.references('id')
.inTable('work_types')
.onDelete('SET NULL')
.onUpdate('CASCADE');
// 인덱스
table.index('work_type_id');
table.index('is_active');
}).then(() => {
});
};
/**
* @param {import('knex').Knex} knex
*/
exports.down = function(knex) {
return knex.schema.dropTableIfExists('tasks');
};