diff --git a/system1-factory/api/db/migrations/20260317100000_create_schedule_meeting_system.js b/system1-factory/api/db/migrations/20260317100000_create_schedule_meeting_system.js index f5cde46..c94afc4 100644 --- a/system1-factory/api/db/migrations/20260317100000_create_schedule_meeting_system.js +++ b/system1-factory/api/db/migrations/20260317100000_create_schedule_meeting_system.js @@ -30,7 +30,7 @@ exports.up = async (knex) => { // 3. 공정표 항목 await knex.schema.createTable('schedule_entries', (table) => { table.increments('entry_id').primary(); - table.integer('project_id').unsigned().notNullable() + table.integer('project_id').notNullable() .references('project_id').inTable('projects'); table.integer('phase_id').unsigned().notNullable() .references('phase_id').inTable('schedule_phases'); @@ -42,7 +42,7 @@ exports.up = async (knex) => { table.string('assignee', 100).nullable(); table.text('notes').nullable(); table.integer('display_order').defaultTo(0); - table.integer('created_by').unsigned().nullable() + table.integer('created_by').nullable() .references('user_id').inTable('sso_users'); table.timestamp('created_at').defaultTo(knex.fn.now()); table.timestamp('updated_at').defaultTo(knex.fn.now()); @@ -61,7 +61,7 @@ exports.up = async (knex) => { // 5. 마일스톤 await knex.schema.createTable('schedule_milestones', (table) => { table.increments('milestone_id').primary(); - table.integer('project_id').unsigned().notNullable() + table.integer('project_id').notNullable() .references('project_id').inTable('projects'); table.integer('entry_id').unsigned().nullable() .references('entry_id').inTable('schedule_entries').onDelete('SET NULL'); @@ -70,7 +70,7 @@ exports.up = async (knex) => { table.string('milestone_type', 30).defaultTo('deadline'); table.string('status', 20).defaultTo('upcoming'); table.text('notes').nullable(); - table.integer('created_by').unsigned().nullable() + table.integer('created_by').nullable() .references('user_id').inTable('sso_users'); table.timestamp('created_at').defaultTo(knex.fn.now()); table.timestamp('updated_at').defaultTo(knex.fn.now()); @@ -85,7 +85,7 @@ exports.up = async (knex) => { table.string('location', 200).nullable(); table.text('summary').nullable(); table.string('status', 20).defaultTo('draft'); - table.integer('created_by').unsigned().nullable() + table.integer('created_by').nullable() .references('user_id').inTable('sso_users'); table.timestamp('created_at').defaultTo(knex.fn.now()); table.timestamp('updated_at').defaultTo(knex.fn.now()); @@ -96,7 +96,7 @@ exports.up = async (knex) => { table.increments('id').primary(); table.integer('meeting_id').unsigned().notNullable() .references('meeting_id').inTable('meeting_minutes').onDelete('CASCADE'); - table.integer('user_id').unsigned().notNullable() + table.integer('user_id').notNullable() .references('user_id').inTable('sso_users'); table.unique(['meeting_id', 'user_id']); }); @@ -106,7 +106,7 @@ exports.up = async (knex) => { table.increments('item_id').primary(); table.integer('meeting_id').unsigned().notNullable() .references('meeting_id').inTable('meeting_minutes').onDelete('CASCADE'); - table.integer('project_id').unsigned().nullable() + table.integer('project_id').nullable() .references('project_id').inTable('projects'); table.integer('milestone_id').unsigned().nullable() .references('milestone_id').inTable('schedule_milestones').onDelete('SET NULL'); @@ -114,7 +114,7 @@ exports.up = async (knex) => { table.text('content').notNullable(); table.text('decision').nullable(); table.text('action_required').nullable(); - table.integer('responsible_user_id').unsigned().nullable() + table.integer('responsible_user_id').nullable() .references('user_id').inTable('sso_users'); table.date('due_date').nullable(); table.string('status', 20).defaultTo('open');