diff options
Diffstat (limited to 'server/database/migrations/1648844808010-AddConnectedUsers.ts')
-rw-r--r-- | server/database/migrations/1648844808010-AddConnectedUsers.ts | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/server/database/migrations/1648844808010-AddConnectedUsers.ts b/server/database/migrations/1648844808010-AddConnectedUsers.ts new file mode 100644 index 0000000..e6d16fe --- /dev/null +++ b/server/database/migrations/1648844808010-AddConnectedUsers.ts @@ -0,0 +1,54 @@ +import { MigrationInterface, QueryRunner, Table, TableForeignKey } from 'typeorm'; + +export class AddConnectedUsers1648844808010 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise<void> { + await queryRunner.createTable( + new Table({ + name: 'chat_room_connection', + columns: [ + { + name: 'id', + type: 'int', + isPrimary: true, + isGenerated: true, + }, + { + name: 'userId', + type: 'int', + isNullable: false, + }, + { + name: 'chatRoomId', + type: 'text', + isNullable: false, + }, + ], + }), + true, + ); + + await queryRunner.createForeignKey( + 'chat_room_connection', + new TableForeignKey({ + columnNames: ['userId'], + referencedColumnNames: ['id'], + referencedTableName: 'user', + onDelete: 'CASCADE', + }), + ); + + await queryRunner.createForeignKey( + 'chat_room_connection', + new TableForeignKey({ + columnNames: ['chatRoomId'], + referencedColumnNames: ['id'], + referencedTableName: 'chat_room', + onDelete: 'CASCADE', + }), + ); + } + + public async down(queryRunner: QueryRunner): Promise<void> { + await queryRunner.dropTable('connected_users'); + } +} |