mirror of
https://github.com/immich-app/immich.git
synced 2026-02-12 11:58:15 +03:00
disable synchronize on the original join table
This commit is contained in:
@@ -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 })
|
||||
|
||||
@@ -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[];
|
||||
|
||||
|
||||
@@ -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") `);
|
||||
}
|
||||
|
||||
}
|
||||
14
server/src/migrations/1712904446100-AddAlbumPermissions.ts
Normal file
14
server/src/migrations/1712904446100-AddAlbumPermissions.ts
Normal 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"`);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user