|
| 1 | +import { MigrationInterface, QueryRunner } from "typeorm" |
| 2 | + |
| 3 | +export class CreateNewcomer1769693832000 implements MigrationInterface { |
| 4 | + public async up(queryRunner: QueryRunner): Promise<void> { |
| 5 | + // Newcomer 테이블 생성 |
| 6 | + await queryRunner.query(` |
| 7 | + CREATE TABLE \`newcomer\` ( |
| 8 | + \`id\` varchar(36) NOT NULL, |
| 9 | + \`name\` varchar(255) NOT NULL, |
| 10 | + \`yearOfBirth\` int NULL, |
| 11 | + \`gender\` varchar(10) NULL, |
| 12 | + \`phone\` varchar(255) NULL COMMENT '연락처', |
| 13 | + \`guiderId\` varchar(36) NULL COMMENT '인도자', |
| 14 | + \`status\` enum ('NORMAL', 'PROMOTED', 'DELETED', 'PENDING') NOT NULL DEFAULT 'NORMAL', |
| 15 | + \`promotionDate\` varchar(255) NULL COMMENT '등반일', |
| 16 | + \`assignment\` varchar(255) NULL COMMENT '배정', |
| 17 | + \`deletionDate\` varchar(255) NULL COMMENT '삭제일', |
| 18 | + \`pendingDate\` varchar(255) NULL COMMENT '보류일', |
| 19 | + \`managerId\` varchar(36) NULL, |
| 20 | + \`createdAt\` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), |
| 21 | + \`updatedAt\` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), |
| 22 | + PRIMARY KEY (\`id\`), |
| 23 | + CONSTRAINT \`FK_newcomer_guider\` FOREIGN KEY (\`guiderId\`) REFERENCES \`user\`(\`id\`) ON DELETE SET NULL ON UPDATE NO ACTION, |
| 24 | + CONSTRAINT \`FK_newcomer_manager\` FOREIGN KEY (\`managerId\`) REFERENCES \`user\`(\`id\`) ON DELETE SET NULL ON UPDATE NO ACTION |
| 25 | + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci |
| 26 | + `) |
| 27 | + |
| 28 | + // NewcomerEducation 테이블 생성 |
| 29 | + await queryRunner.query(` |
| 30 | + CREATE TABLE \`newcomer_education\` ( |
| 31 | + \`id\` varchar(36) NOT NULL, |
| 32 | + \`newcomerId\` varchar(36) NULL, |
| 33 | + \`worshipScheduleId\` int NULL, |
| 34 | + \`lectureType\` enum ('OT', 'L1', 'L2', 'L3', 'L4', 'L5') NOT NULL, |
| 35 | + \`memo\` text NULL, |
| 36 | + PRIMARY KEY (\`id\`), |
| 37 | + CONSTRAINT \`FK_newcomer_education_newcomer\` FOREIGN KEY (\`newcomerId\`) REFERENCES \`newcomer\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION, |
| 38 | + CONSTRAINT \`FK_newcomer_education_worship\` FOREIGN KEY (\`worshipScheduleId\`) REFERENCES \`worship_schedule\`(\`id\`) ON DELETE SET NULL ON UPDATE NO ACTION |
| 39 | + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci |
| 40 | + `) |
| 41 | + } |
| 42 | + |
| 43 | + public async down(queryRunner: QueryRunner): Promise<void> { |
| 44 | + await queryRunner.query(`DROP TABLE \`newcomer_education\``) |
| 45 | + await queryRunner.query(`DROP TABLE \`newcomer\``) |
| 46 | + } |
| 47 | +} |
0 commit comments