diff --git a/src/migration/1663178807737-cascadeauthorization.ts b/src/migration/1663178807737-cascadeauthorization.ts new file mode 100644 index 0000000..b340536 --- /dev/null +++ b/src/migration/1663178807737-cascadeauthorization.ts @@ -0,0 +1,35 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class cascadeauthorization1663178807737 implements MigrationInterface { + name = 'cascadeauthorization1663178807737'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE \`o_auth2_client_authorization\` DROP FOREIGN KEY \`FK_8227110f58510b7233f3db90cfb\``, + ); + await queryRunner.query( + `ALTER TABLE \`o_auth2_client_authorization\` ADD CONSTRAINT \`FK_8227110f58510b7233f3db90cfb\` FOREIGN KEY (\`userId\`) REFERENCES \`user\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE \`o_auth2_client_authorization\` DROP FOREIGN KEY \`FK_9ca9ebb654e7ce71954d5fdb281\``, + ); + await queryRunner.query( + `ALTER TABLE \`o_auth2_client_authorization\` ADD CONSTRAINT \`FK_9ca9ebb654e7ce71954d5fdb281\` FOREIGN KEY (\`clientId\`) REFERENCES \`o_auth2_client\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION`, + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE \`o_auth2_client_authorization\` DROP FOREIGN KEY \`FK_8227110f58510b7233f3db90cfb\``, + ); + await queryRunner.query( + `ALTER TABLE \`o_auth2_client_authorization\` DROP FOREIGN KEY \`FK_9ca9ebb654e7ce71954d5fdb281\``, + ); + await queryRunner.query( + `ALTER TABLE \`o_auth2_client_authorization\` ADD CONSTRAINT \`FK_8227110f58510b7233f3db90cfb\` FOREIGN KEY (\`userId\`) REFERENCES \`user\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`, + ); + await queryRunner.query( + `ALTER TABLE \`o_auth2_client_authorization\` ADD CONSTRAINT \`FK_9ca9ebb654e7ce71954d5fdb281\` FOREIGN KEY (\`clientId\`) REFERENCES \`o_auth2_client\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`, + ); + } +} diff --git a/src/modules/objects/oauth2-client/oauth2-client-authorization.entity.ts b/src/modules/objects/oauth2-client/oauth2-client-authorization.entity.ts index c6515cf..d054373 100644 --- a/src/modules/objects/oauth2-client/oauth2-client-authorization.entity.ts +++ b/src/modules/objects/oauth2-client/oauth2-client-authorization.entity.ts @@ -22,9 +22,9 @@ export class OAuth2ClientAuthorization { @CreateDateColumn() public created_at: Date; - @ManyToOne(() => OAuth2Client) + @ManyToOne(() => OAuth2Client, { onDelete: 'CASCADE' }) public client: OAuth2Client; - @ManyToOne(() => User) + @ManyToOne(() => User, { onDelete: 'CASCADE' }) public user: User; }