From 748194e1b66a28b680d61b0dfcb3c5e61aa30605 Mon Sep 17 00:00:00 2001 From: "iVampireSP.com" Date: Tue, 24 Oct 2023 14:40:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B=20=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 4 ++- src/entity/User.ts | 7 ++-- .../1698126666203-create_users_table.ts | 35 ++++++++++++++++--- 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index fc6cd4f..04eb49c 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,8 @@ }, "scripts": { "start": "ts-node main.ts", - "typeorm": "typeorm-ts-node-commonjs" + "typeorm": "typeorm-ts-node-commonjs", + "migrate": "typeorm-ts-node-commonjs migration:run -d src/config/database.ts", + "migrate:rollback": "typeorm-ts-node-commonjs migration:revert -d src/config/database.ts" } } diff --git a/src/entity/User.ts b/src/entity/User.ts index d26ad0a..5969f30 100644 --- a/src/entity/User.ts +++ b/src/entity/User.ts @@ -7,12 +7,9 @@ export class User { id: number @Column() - firstName: string + name: string @Column() - lastName: string - - @Column() - age: number + email: string } diff --git a/src/migration/1698126666203-create_users_table.ts b/src/migration/1698126666203-create_users_table.ts index c5112fe..31ae769 100644 --- a/src/migration/1698126666203-create_users_table.ts +++ b/src/migration/1698126666203-create_users_table.ts @@ -9,20 +9,45 @@ export class CreateUsersTable1698126666203 implements MigrationInterface { columns: [ { name: "id", - type: "unsignedint", + type: "int", isPrimary: true, + unsigned: true, + + // auto increment + isGenerated: true, + generationStrategy: "increment", + }, + { + name: "name", + type: "varchar", + length: "255", + isNullable: false, + }, + { + name: "email", + type: "varchar", + length: "255", + isNullable: false, } ] }) ) - // await queryRunner.createIndex("users", new TableIndex({ - // columnNames: [""], - // name: "IDX_USER_FIRST_NAME" - // }) + // auto increment id + + + // add index to email + await queryRunner.createIndex( + "users", + new TableIndex({ + name: "IDX_USERS_EMAIL", + columnNames: ["email"], + } + )) } public async down(queryRunner: QueryRunner): Promise { + await queryRunner.dropTable("users") } }