disable synchronize on the original join table

This commit is contained in:
mgabor
2024-04-12 08:53:38 +02:00
parent de58cd2ebd
commit d9161af808
4 changed files with 22 additions and 27 deletions

View File

@@ -1,8 +1,10 @@
import { AlbumEntity } from 'src/entities/album.entity';
import { UserEntity } from 'src/entities/user.entity';
import { Column, Entity, ManyToOne, PrimaryColumn } from 'typeorm';
import { Column, Entity, Index, ManyToOne, PrimaryColumn } from 'typeorm';
@Entity('albums_shared_users_users')
@Index('IDX_427c350ad49bd3935a50baab73', ['albums'])
@Index('IDX_f48513bf9bccefd6ff3ad30bd0', ['users'])
export class AlbumPermissionsEntity {
@PrimaryColumn({ type: 'uuid', name: 'albumsId', foreignKeyConstraintName: 'FK_f48513bf9bccefd6ff3ad30bd06' })
@ManyToOne(() => AlbumEntity, { onDelete: 'CASCADE', onUpdate: 'CASCADE', nullable: false })

View File

@@ -57,14 +57,15 @@ export class AlbumEntity {
name: 'albums_shared_users_users',
inverseJoinColumn: {
name: 'usersId',
referencedColumnName: 'id',
foreignKeyConstraintName: 'FK_f48513bf9bccefd6ff3ad30bd06',
// referencedColumnName: 'id',
// foreignKeyConstraintName: 'FK_f48513bf9bccefd6ff3ad30bd06',
},
joinColumn: {
name: 'albumsId',
referencedColumnName: 'id',
foreignKeyConstraintName: 'FK_427c350ad49bd3935a50baab737',
// referencedColumnName: 'id',
// foreignKeyConstraintName: 'FK_427c350ad49bd3935a50baab737',
},
synchronize: false,
})
sharedUsers!: UserEntity[];

View File

@@ -1,22 +0,0 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class AddAlbumPermissions1712848324419 implements MigrationInterface {
name = 'AddAlbumPermissions1712848324419'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX "public"."IDX_427c350ad49bd3935a50baab73"`);
await queryRunner.query(`DROP INDEX "public"."IDX_f48513bf9bccefd6ff3ad30bd0"`);
await queryRunner.query(`ALTER TABLE "albums_shared_users_users" ADD "readonly" boolean NOT NULL DEFAULT true`);
await queryRunner.query(`CREATE INDEX "IDX_427c350ad49bd3935a50baab73" ON "albums_shared_users_users" ("albumsId") `);
await queryRunner.query(`CREATE INDEX "IDX_f48513bf9bccefd6ff3ad30bd0" ON "albums_shared_users_users" ("usersId") `);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX "public"."IDX_f48513bf9bccefd6ff3ad30bd0"`);
await queryRunner.query(`DROP INDEX "public"."IDX_427c350ad49bd3935a50baab73"`);
await queryRunner.query(`ALTER TABLE "albums_shared_users_users" DROP COLUMN "readonly"`);
await queryRunner.query(`CREATE INDEX "IDX_f48513bf9bccefd6ff3ad30bd0" ON "albums_shared_users_users" ("usersId") `);
await queryRunner.query(`CREATE INDEX "IDX_427c350ad49bd3935a50baab73" ON "albums_shared_users_users" ("albumsId") `);
}
}

View File

@@ -0,0 +1,14 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class AddAlbumPermissions1712904446100 implements MigrationInterface {
name = 'AddAlbumPermissions1712904446100'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "albums_shared_users_users" ADD "readonly" boolean NOT NULL DEFAULT true`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "albums_shared_users_users" DROP COLUMN "readonly"`);
}
}